1
0
mirror of synced 2026-08-03 08:51:58 +00:00

Define oauth2-login xsd elements

Issue gh-4557
This commit is contained in:
Joe Grandja
2019-12-11 19:46:10 -05:00
parent a3e09fadd7
commit 40c0a452d7
13 changed files with 4262 additions and 12 deletions
@@ -164,6 +164,7 @@ The default value is true.
* <<nsa-intercept-url,intercept-url>>
* <<nsa-jee,jee>>
* <<nsa-logout,logout>>
* <<nsa-oauth2-login,oauth2-login>>
* <<nsa-openid-login,openid-login>>
* <<nsa-port-mappings,port-mappings>>
* <<nsa-remember-me,remember-me>>
@@ -879,6 +880,148 @@ Maps a `ForwardAuthenticationSuccessHandler` to `authenticationSuccessHandler` p
* **authentication-failure-forward-url**
Maps a `ForwardAuthenticationFailureHandler` to `authenticationFailureHandler` property of `UsernamePasswordAuthenticationFilter`.
[[nsa-oauth2-login]]
==== <oauth2-login>
The <<oauth2login,OAuth 2.0 Login>> feature configures authentication support using an OAuth 2.0 and/or OpenID Connect 1.0 Provider.
[[nsa-oauth2-login-parents]]
===== Parent Elements of <oauth2-login>
* <<nsa-http,http>>
[[nsa-client-registrations]]
==== <client-registrations>
A container element for client(s) registered (`ClientRegistration`) with an OAuth 2.0 or OpenID Connect 1.0 Provider.
[[nsa-client-registrations-children]]
===== Child Elements of <client-registrations>
* <<nsa-client-registration,client-registration>>
* <<nsa-provider,provider>>
[[nsa-client-registration]]
==== <client-registration>
Represents a client registered (`ClientRegistration`) with an OAuth 2.0 or OpenID Connect 1.0 Provider.
[[nsa-client-registration-parents]]
===== Parent Elements of <client-registration>
* <<nsa-client-registrations,client-registrations>>
[[nsa-client-registration-attributes]]
===== <client-registration> Attributes
[[nsa-client-registration-registration-id]]
* **registration-id**
The ID that uniquely identifies the `ClientRegistration`.
[[nsa-client-registration-client-id]]
* **client-id**
The client identifier.
[[nsa-client-registration-client-secret]]
* **client-secret**
The client secret.
[[nsa-client-registration-client-authentication-method]]
* **client-authentication-method**
The method used to authenticate the Client with the Provider.
The supported values are *basic*, *post* and *none* https://tools.ietf.org/html/rfc6749#section-2.1[(public clients)].
[[nsa-client-registration-authorization-grant-type]]
* **authorization-grant-type**
The OAuth 2.0 Authorization Framework defines four https://tools.ietf.org/html/rfc6749#section-1.3[Authorization Grant] types.
The supported values are `authorization_code`, `client_credentials`, `password` and `implicit`.
[[nsa-client-registration-redirect-uri]]
* **redirect-uri**
The client's registered redirect URI that the _Authorization Server_ redirects the end-user's user-agent to after the end-user has authenticated and authorized access to the client.
[[nsa-client-registration-scope]]
* **scope**
The scope(s) requested by the client during the Authorization Request flow, such as openid, email, or profile.
[[nsa-client-registration-client-name]]
* **client-name**
A descriptive name used for the client.
The name may be used in certain scenarios, such as when displaying the name of the client in the auto-generated login page.
[[nsa-client-registration-provider-id]]
* **provider-id**
A reference to the associated provider. May reference a `<provider>` element or use one of the common providers (google, github, facebook, okta).
[[nsa-provider]]
==== <provider>
The configuration information for an OAuth 2.0 or OpenID Connect 1.0 Provider.
[[nsa-provider-parents]]
===== Parent Elements of <provider>
* <<nsa-client-registrations,client-registrations>>
[[nsa-provider-attributes]]
===== <provider> Attributes
[[nsa-provider-provider-id]]
* **provider-id**
The ID that uniquely identifies the provider.
[[nsa-provider-authorization-uri]]
* **authorization-uri**
The Authorization Endpoint URI for the Authorization Server.
[[nsa-provider-token-uri]]
* **token-uri**
The Token Endpoint URI for the Authorization Server.
[[nsa-provider-userinfo-uri]]
* **userinfo-uri**
The UserInfo Endpoint URI used to access the claims/attributes of the authenticated end-user.
[[nsa-provider-userinfo-authentication-method]]
* **userinfo-authentication-method**
The authentication method used when sending the access token to the UserInfo Endpoint.
The supported values are *header*, *form* and *query*.
[[nsa-provider-username-attribute-name]]
* **username-attribute-name**
The name of the attribute returned in the UserInfo Response that references the Name or Identifier of the end-user.
[[nsa-provider-jwkset-uri]]
* **jwkset-uri**
The URI used to retrieve the https://tools.ietf.org/html/rfc7517[JSON Web Key (JWK)] Set from the Authorization Server, which contains the cryptographic key(s) used to verify the https://tools.ietf.org/html/rfc7515[JSON Web Signature (JWS)] of the ID Token and optionally the UserInfo Response.
[[nsa-provider-issuer-uri]]
* **issuer-uri**
The URI used to initially configure a `ClientRegistration` using discovery of an OpenID Connect Provider's https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfig[Configuration endpoint] or an Authorization Server's https://tools.ietf.org/html/rfc8414#section-3[Metadata endpoint].
[[nsa-http-basic]]
==== <http-basic>
Adds a `BasicAuthenticationFilter` and `BasicAuthenticationEntryPoint` to the configuration.