diff options
| author | Nicolas Clapies <nclapies@entrouvert.com> | 2004-08-27 16:36:27 +0000 |
|---|---|---|
| committer | Nicolas Clapies <nclapies@entrouvert.com> | 2004-08-27 16:36:27 +0000 |
| commit | a646c1bddb05e14a723ba352dc293ba6e9af1aff (patch) | |
| tree | 605fd0b360b570999165b3d5d4545aa01e05e904 | |
| parent | 27d48289411090096aff5ffe117c8d212402b1c7 (diff) | |
*** empty log message ***
| -rw-r--r-- | lasso/id-ff/logout.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/lasso/id-ff/logout.c b/lasso/id-ff/logout.c index cbbdb4b8..139c844b 100644 --- a/lasso/id-ff/logout.c +++ b/lasso/id-ff/logout.c @@ -274,7 +274,18 @@ lasso_logout_build_response_msg(LassoLogout *logout) profile->msg_body = lasso_node_export_to_soap(profile->response); break; case lassoHttpMethodRedirect: - url = lasso_provider_get_singleLogoutServiceReturnURL(provider, profile->provider_type, NULL); + if (profile->provider_type == lassoProviderTypeSp) { + url = lasso_provider_get_singleLogoutServiceReturnURL(provider, lassoProviderTypeIdp, NULL); + } + else if (profile->provider_type == lassoProviderTypeIdp) { + url = lasso_provider_get_singleLogoutServiceReturnURL(provider, lassoProviderTypeSp, NULL); + } + else { + message(G_LOG_LEVEL_CRITICAL, "Invalid provider type\n"); + ret = -1; + goto done; + } + if (url == NULL) { message(G_LOG_LEVEL_CRITICAL, "Single logout service return url not found\n"); ret = -1; |
