Configure SSO logout
When an application ends, is the user logged out from the Single Sign-On authentication server when using the OpenIDConnect service provider? It depends; configuration may be required.
Most identity providers have not implemented the logout session management protocol. You may need
to add the SSO tags IDP_LOGOUT_URL
and SIGN_OFF
as children of the
DELEGATE
element in the application configuration to specify how the logout is
handled by the SSO.
TRUE
. Closing the application will perform an SSO logout. Restarting the application, the user will be prompted for SSO login.FALSE
. Closing the application will not perform an SSO logout. Restarting the application, the user will not be prompted for SSO login.QUERY
. Closing the application, the user is asked whether to log out of the SSO. If the user elects to log out, the IdP needs to redirect back to the user agent; therefore, it is recommended to also specify an applicationEND_URL
.
- If the information was registered automatically by the service provider using the identity provider metadata, then OpenID Connect logout will be executed.
- If the information was registered manually by the user using the ImportOAuth tool, then OAuth logout will be executed.
Different IdP providers may require different configuration options. Refer to the IdP documentation for information about the SSO logout options.
OAuth2 logout
By default, a user provides the IdP end session endpoint (if any) when registering the IdP using the ImportOAuth tool.
- The user will not be logged out by default; the default value of
SIGN_OFF
isFALSE
. - To perform a logout, a user has to configure both the
SIGN_OFF
andIDP_LOGOUT_URL
elements in their configuration file.
- By default, the user will be asked each time if they wish to log out; default value of
SIGN_OFF
isQUERY
. - A user can specify another value for
SIGN_OFF
without having to specifyIDP_LOGOUT_URL
in their configuration file, as it has already been defined when registering the IdP with the ImportOAuth tool. - The end_session_endpoint provided at registration will be used to send the logout request,
unless the user wants to specify another one by setting
IDP_LOGOUT_URL
in their configuration file. (This is not mandatory.)
OpenID Connect logout
By default, if the IdP provides logout functionality, it will provide the end session endpoint in the metadata that is fetched when our OpenIDConnectServiceProvider automatically registers the IdP.
- The user will not be logged out by default; the default value of
SIGN_OFF
isFALSE
. - To perform a logout, a user has to configure both the
SIGN_OFF
andIDP_LOGOUT_URL
elements in their configuration file.
- The user will be logged out by default; the default value of
SIGN_OFF
isTRUE
. - A user can specify another value for
SIGN_OFF
; in that case, they must also specifyIDP_LOGOUT_URL
in their configuration file – the rationale being that if the sign-off is user-defined, the logout URL should also be user-defined. - The end_session_endpoint provided by the IdP’s metadata will be used to send the logout request,
unless the user wants to provide a different one by setting both
IDP_LOGOUT_URL
andSIGN_OFF
in their configuration file.
Troubleshooting OpenIDConnect and Google IdP
Google does not follow the OpenID-Connect protocol fully. If your IdP provider is Google, the following steps show how to implement the logout.