summaryrefslogtreecommitdiffstats
path: root/lasso
diff options
context:
space:
mode:
authorBenjamin Dauvergne <bdauvergne@entrouvert.com>2010-10-07 18:38:21 +0200
committerBenjamin Dauvergne <bdauvergne@entrouvert.com>2010-10-07 18:38:21 +0200
commit6b2a21d116d9191eb5f27d204e5137465d6daa2e (patch)
tree9ad95232c21d9c99b6140a0cfacf7ba4ea44b324 /lasso
parent3e87282db3c00bc18a72b43385b155c8213e599b (diff)
downloadlasso-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.c12
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);