diff options
author | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2010-10-07 18:38:21 +0200 |
---|---|---|
committer | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2010-10-07 18:38:21 +0200 |
commit | 6b2a21d116d9191eb5f27d204e5137465d6daa2e (patch) | |
tree | 9ad95232c21d9c99b6140a0cfacf7ba4ea44b324 /lasso | |
parent | 3e87282db3c00bc18a72b43385b155c8213e599b (diff) | |
download | lasso-6b2a21d116d9191eb5f27d204e5137465d6daa2e.tar.gz lasso-6b2a21d116d9191eb5f27d204e5137465d6daa2e.tar.xz lasso-6b2a21d116d9191eb5f27d204e5137465d6daa2e.zip |
[core] adapt lasso_provider_get_assertion_consumer_service_url for SAMLv2
Diffstat (limited to 'lasso')
-rw-r--r-- | lasso/id-ff/provider.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lasso/id-ff/provider.c b/lasso/id-ff/provider.c index fe3f42be..d7cf8810 100644 --- a/lasso/id-ff/provider.c +++ b/lasso/id-ff/provider.c @@ -145,6 +145,18 @@ lasso_provider_get_assertion_consumer_service_url(LassoProvider *provider, const char *name = NULL; char *assertion_consumer_service_url = NULL; + if (provider->private_data->conformance == LASSO_PROTOCOL_SAML_2_0) { + int sid = -1; + if (service_id != NULL) { + if (lasso_string_to_xsd_integer(service_id, &sid)) { + if (sid < 0) { + sid = -1; + } + } + } + return lasso_saml20_provider_get_assertion_consumer_service_url(provider, sid); + } + if (service_id == NULL) service_id = provider->private_data->default_assertion_consumer; name = g_strdup_printf("AssertionConsumerServiceURL %s", service_id); |