!!! Overview [{$pagename}] ([OAuth 2.0]) is sent by the [OAuth Client] to the [Authorization Server] (specifically the [Authorization_endpoint]) to obtain an [Authorization Grant]. The [OAuth 2.0] and [OpenID Connect] Specification defines several [Grant Types] and other [Grant Types] have or may be defined. We show the [Authorization Code Grant] for [OpenID Connect] in most of our examples. !! [OpenID Connect] [OpenID Connect] defines the following [{$pagename}] parameters to enable [{$pagename}] to be signed and optionally encrypted: * request - __OPTIONAL__ This parameter enables [OpenID Connect] requests to be passed in a single, self-contained parameter and to be optionally signed and/or encrypted. The parameter value is a [Request Object] value, as specified in Section 6.1. It represents the request as a [JWT] whose Claims are the [{$pagename}] parameters. * [request_uri] - __OPTIONAL__ - This parameter enables [OpenID Connect] requests to be passed [by-reference], rather than [by-value]. The [request_uri] value is a [URL] using the https scheme referencing a resource containing a [{$pagename}] Object value, which is a [JWT] containing the request parameters. Requests using these parameters are represented as [JWT]s, which are respectively passed [by-value]or passed [by-reference]. The ability to pass requests [by-reference] is particularly useful for large requests. If one of these parameters is used, the other __MUST NOT__ be used in the same request. !! [Authorization Request Parameters] The [Authorization Request Parameters] should be registered [OAuth Parameters Registry] or agreed upon by the parties in advance. Typically, the folowing are required: * [response_type] * [client_id] * [redirect_uri] * [scope|OAuth Scopes] * [state|OAuth state parameter] !! How the [{$pagename}] is Used The [OAuth Client] directs the [Resource Owner] to the constructed [{$pagename}] URI using an HTTPS redirection response, or by other means available to it via the [user-agent]. For [example], the [OAuth Client] directs the [user-agent] to make the following HTTP request using [TLS]: %%prettify {{{ https://server.example.com/authorize? response_type=code &client_id=s6BhdRkqt3 &redirect_uri=https%3A%2F%2Fclient.example.org%2Fcb &scope=openid%20profile &state=af0ifjsldkj }}} /% The [Authorization Server] validates the [{$pagename}] to ensure that all required parameters are present and valid. If the [{$pagename}] is valid, the [Authorization Server] [authenticates] the [Resource Owner] and obtains an authorization decision (by asking the [Resource Owner] or by establishing approval via other means). If a successful decision is established, the [Authorization Server] directs the [user-agent] to the [OAuth Client] provided [Redirect_uri] using an [HTTP] [Redirection] response, or by other means available to it via the [user-agent] providing the [Authorization Grant] to the [OAuth Client] !! More Information There might be more information for this subject on one of the following: [{ReferringPagesPlugin before='*' after='\n' }] ---- * [#1] - [RFC 6749|https://tools.ietf.org/html/rfc6749|target='_blank'] - based on data observed:2015-05-18