30 likes | 241 Vues
The http://openid.net/connect Protocol offers Java developers a way to authenticate a person at any Internet domain that supports the standard. To accomplish this, the domain must provide a way to register clients--the website and mobile applications that use the authentication API offered by the domain.
E N D
Using OpenID Connect to authenticate a person in Java The http://openid.net/connect Protocol offers Java developers a way to authenticate a person at any Internet domain that supports the standard. To accomplish this, the domain must provide a way to register clients--the website and mobile applications that use the authentication API offered by the domain. Discovery Discovery is the first step! Luckily, it’s super-easy! All you have to do is make a get request to https://{domain}/.well-known/openid-configuration
This will return a JSON object, as described in the specification. For example, you can see Gluu'sOpenID Connect discovery url. This will tell you everything you need to know about this OpenID Connect provider, like what are the endpoints (URLs), what crypto is supported, and what user claims can you ask for. An example of a Discovery Request, using the oxAuth RP library. Client Registration In SAML, the website was called a "Service Provider." In OpenID Connect, the website (or mobile application) is called a "Client." Clients can be registered manually by the OP, but more frequently, clients use the Dynamic Registration API to automate the process. • Obtaining the id_token • After your client is registered, it is time to get down to business. OpenID Connect offers two common workflows for authentication: basic (where the person is using a browser, and can be re-directed) and implicit where the client sends the credentials, including the secret. There is a userful implements guide for basic and implicit
Logout OpenID Connect defines a mechanism for Session Management. The idea is that javascript in a web tab can detect that another tab has logged out. One detection of a logout event, the Web application can cleanup sessions in any backend systems as necessary. Its not 100% effective. If the tab is closed when the logout occurs in another tab, the event may not be detected, and the backend systems are advised to timeout sessions. Article Source - http://gluu.soup.io/post/488920294/Using-OpenID-Connect-to-authenticate-a-person