OAuth2 and OpenID Connect
| Various tools to manipulate OAuth2 and OpenID Connect protocols in XWiki |
| Type | Project |
| Last version | Unknown |
| Developed by | |
| License | GNU Lesser General Public License 2.1 |
Table of contents
Description
Various tools to manipulate OpenID Connect protocol in XWiki
This project making XWiki support what is becoming the most standard identity protocol on Internet both as a provider for other applications and as a client of reference identity providers.
It also provides token related tools:
- a token system to authenticate on the XWiki instance (which is independent of OAuth2/OIDC from protocol point of view, but reuse the same storage as the OIDC Provider in practice)
- a way to store and use OAuth2 token coming from other services
OpenID Connect
From https://openid.net/connect/:
OpenID Connect 1.0 is a simple identity layer on top of the OAuth 2.0 protocol. It allows Clients to verify the identity of the End-User based on the authentication performed by an Authorization Server, as well as to obtain basic profile information about the End-User in an interoperable and REST-like manner.
OpenID Connect allows clients of all types, including Web-based, mobile, and JavaScript clients, to request and receive information about authenticated sessions and end-users. The specification suite is extensible, allowing participants to use optional features such as encryption of identity data, discovery of OpenID Providers, and session management, when it makes sense for them.
See http://openid.net/connect/faq/ for a set of answers to Frequently Asked Questions about OpenID Connect.
This project is relying on Nimbus OAuth 2.0 SDK with OpenID Connect extensions (which among other things offers parsers and processors for OpenID Connect request/responses in Java) for its implementation.
See also OpenID Connect Core Specifications 1.0 and this overview of the OpenID Connect Protocol:
The OpenID Connect protocol, in abstract, follows the following steps.
1. The RP (Client) sends a request to the OpenID Provider (OP).
2. The OP authenticates the End-User and obtains authorization.
3. The OP responds with an ID Token and usually an Access Token.
4. The RP can send a request with the Access Token to the UserInfo Endpoint.
5. The UserInfo Endpoint returns Claims about the End-User.
These steps are illustrated in the following diagram:
+--------+ +--------+
| | | |
| |---------(1) AuthN Request-------->| |
| | | |
| | +--------+ | |
| | | | | |
| | | End- |<--(2) AuthN & AuthZ-->| |
| | | User | | |
| RP | | | | OP |
| | +--------+ | |
| | | |
| |<--------(3) AuthN Response--------| |
| | | |
| |---------(4) UserInfo Request----->| |
| | | |
| |<--------(5) UserInfo Response-----| |
| | | |
+--------+ +--------+The modules
- org.xwiki.contrib.oidc:oidc-authenticator-object: generally used as dependency to manipulate the xobjects stored by the OIDC authenticator in the user profile
Extensions
This project contains the following Extensions.
| per page of Previous Page Next Page Page | ||||||||||||||||||
|
||||||||||||||||||
| Previous Page Next Page Page | ||||||||||||||||||