OpenID Connect overview
OpenID Connect is a simple identity protocol and open standard that is built using the OAuth 2.0 protocol. It enables client applications to rely on authentication that is performed by an OpenID Connect Provider to verify the identity of a user.
OpenID Connect uses OAuth 2.0 for authentication and authorization, and then builds identities that uniquely identify users. Clients can also obtain basic profile information about a user in an interoperable and REST-like manner from OpenID Connect Providers.
Beginning with 8.5.5.3, WebSphere® Application Server supports OpenID Connect 1.0 and plays a role as a Client or Relying Party in web single sign-on. Read theOpenID Connect Basic Client Implementer's Guide 1.0 for more information.
Terminology
- Access token
- A credential that is used to access protected resources. An access token is a string, and represents an authorization that is issued to the client.
- Authorization Endpoint
- A resource on an OpenID Provider that accepts an authorization request from a client to perform authentication and authorization on a user. The authorization endpoint returns an authorization grant (or code) to the client in the Basic Client Profile. In the Implicit Client Profile, the authorization endpoint returns an ID token and access token to the client.
- Authorization grant
- A credential that represents a user's authorization to access resources. This credential is used by a client to obtain an access token.
- Claim
- Information that is asserted about an entity. Examples of a claim include a phone number, given name, or surname.
- ID token
- A JSON Web Token (JWT) that contains claims about the authenticated user.
- Introspection Endpoint
- A resource on an OpenID Provider that enables a client that holds an access token to retrieve information. The information is used to create the access token (such as the user name, granted scopes, or client ID).
- OpenID Provider (OP)
- An OAuth 2.0 authorization server that can provide claims to a client, or Relying Party (RP).
- Refresh Token
- A token that is issued to the client by the OP. The token is used to obtain a new access token when the current access token expires or to obtain more access tokens.
- Relying Party (RP)
- Either a WebSphere Application Server configured as an OpenID Connect Client, or a client application that requires claims from an OpenID Provider (OP).
- Scope
- Privilege or permission that is allowed to access resources of a third party.
- Token Endpoint
- A resource on an OpenID Provider that accepts an authorization grant (or code) from a client in exchange for an access token, ID token, and refresh token.
WebSphere Application Server as an OpenID Connect Relying party (client)
WebSphere Application Server can be configured to function as an OpenID Connect Relying Party, which enables WebSphere Application Server to rely on another OpenID Connect server that acts as an OP for user authentication and authorization.
With an OpenID Connect Basic Client, all token exchanges are handled by using the token endpoint of the OpenID Connect Provider (OP). First, the client submits an authorization request to the authorization endpoint of the OP. When authentication and authorization with the OP is successful, the client receives an authorization grant (or code) from the OP. This authorization code can then be sent in a request to the token endpoint of the OP. The client receives an ID token, an access token, and a refresh token in the response from the token endpoint. The client then validates the ID token and retrieves the subject identifier of the user. This profile flow is intended for clients that can securely maintain a client secret between themselves and the OP, and also enables clients to obtain a refresh token.
Logout
HttpServletRequest.logout()
Java™ method. When this method is called from a URL that is
protected by the OpenID Connect TAI, it clears the LtpaToken2
cookie and the OpenID
Connect cookies. You can also configure the OIDC TAI to revoke any access tokens when this method is
called.revokeSSOCookies()
method and through the ibm_security_logout
servlet is not supported for the OpenID
Connect Relying Party.For information about how to enable your application to perform a logout when it is protected by the OpenID Connect TAI, see Enabling programmatic logout for an Open Id Connect Relying Party.
For information about how to configure a WebSphere Application Server as an OpenID Connect Client, read Configuring an OpenID Connect Relying Party.