!!! Overview The [Authorization] Response to the [Authorization Request] within [OAuth 2.0]. If the [Resource Owner] grants the access request, the [Authorization Server] issues an [Authorization Code] and delivers it to the [OAuth Client] by adding the following parameters to the query component of the [Redirect_uri] using the "application/x-www-form-urlencoded" format, per [Appendix B|RFC 6749]: !! code __REQUIRED__ The [Authorization Code] generated by the [Authorization Server]. * The authorization code MUST expire shortly after it is issued to mitigate the risk of leaks. * A maximum [Authorization Code] lifetime of 10 minutes is __RECOMMENDED__. * The client MUST NOT use the [Authorization Code] more than once. If an [Authorization Code] is used more than once, the [Authorization Server] __MUST deny__ the request and __SHOULD__ revoke (when possible) all tokens previously issued based on that [Authorization Code]. * The [Authorization Code] is bound to the [OAuth Client] identifier and [Redirect URI|Redirect_uri]. !! state __REQUIRED__ If the [OAuth state parameter] was present in the client [Authorization Request] the [OAuth Client] [MUST] validate that the [OAuth state parameter] value returned in the [Authorization Response] is identical. For [example], the [Authorization Server] redirects the [user-agent] by sending the following [HTTP 302] response: %%prettify {{{ TTP/1.1 302 Found Location: https://client.example.com/cb?code=SplxlOBeZQQYbYS6WxSbIA&state=xyz }}} /% !! The [Authorization Server] __MUST__ The [Authorization Server] __MUST__ associate the [code_challenge] and [code_challenge_method] values with the [Authorization Code] if they were present in the [Authorization Request] so they can be verified later as required for [Proof Key for Code Exchange by OAuth Public Clients] !! [OAuth Client] __MUST__ The [OAuth Client] __MUST__ ignore unrecognized response parameters. The [Authorization Code] string size is left undefined by this specification. The client should avoid making assumptions about code value sizes. The [Authorization Server] __SHOULD__ document the size of any value it issues. !! [Tokens] In addition to the above the following may be returned depending on the parameters within the [Authorization Request]: * [Access Token] * [Identity Token] * [OAuth Error] !! More Information There might be more information for this subject on one of the following: [{ReferringPagesPlugin before='*' after='\n' }]