En OIDC, ¿no se requiere scope = openid para / token call?

0

Cuando envío una /tokensolicitud seguida de una /authorizesolicitud de servidor Open Id Connect, sé que es necesario configurarlo scope=openidpara la /authorizellamada. Mi pregunta es, ¿también es necesario para la /tokenllamada?

En la especificación OIDC no dice nada al respecto.

3.1.3.1. Token Request

A Client makes a Token Request by presenting its Authorization Grant (in the form of an Authorization Code) to the Token Endpoint using the grant_type value authorization_code, as described in Section 4.1.3 of OAuth 2.0 [RFC6749]. If the Client is a Confidential Client, then it MUST authenticate to the Token Endpoint using the authentication method registered for its client_id, as described in Section 9.

The Client sends the parameters to the Token Endpoint using the HTTP POST method and the Form Serialization, per Section 13.2, as described in Section 4.1.3 of OAuth 2.0 [RFC6749].

Si ese es el caso, ¿cómo se da /tokencuenta de la implementación del punto final si una solicitud es ODIC u OAuth2? ¿Cómo sabe si debe enviar un mensaje id_tokeno no?

0
1

La solicitud del token se realiza con una concesión que el Cliente debe presentar, normalmente (y en su caso) un Código de autorización. Una concesión se emite dentro de un contexto determinado y el servidor de autorización realiza un seguimiento de ese contexto.

En su caso, el servidor de autorización realizaría un seguimiento del hecho de que el código se emitió en una solicitud de autorización que contenía el alcance "openid", y ese alcance fue otorgado por el usuario. Por lo tanto, cuando el código se canjea en el Token Endpoint, id_tokense incluye un en la respuesta.

1
  • Entiendo. Gracias.
    Bee
    11/06/17 a las 8:46
0

En OpenID Connect Core 1.0 incorporando el conjunto de erratas 1 Sección: 3.1.2.1. Solicitud de autenticación

OpenID Connect uses the following OAuth 2.0 request parameters with the Authorization Code Flow:

scope REQUIRED. OpenID Connect requests MUST contain the openid scope value. If the openid scope value is not present, the behavior is entirely unspecified. Other scope values MAY be present. Scope values used that are not understood by an implementation SHOULD be ignored. See Sections 5.4 and 11 for additional scope values defined by this specification.

El "DEBE contener el valor del alcance de openid", que es el factor determinante de que se trata de una solicitud de conexión de OpenID.

No hay nada en la solicitud de token que sea diferente a OAuth 2.0. La solicitud de autenticación, que es la primera llamada al extremo de autorización, con el alcance = openid y el código de autorización que se devuelve es la autorización para obtener el token de acceso y el token de identificación. Como se indica en 3.1.3.3. Respuesta de token exitosa

Después de recibir y validar una solicitud de token válida y autorizada del cliente, el servidor de autorización devuelve una respuesta exitosa que incluye un token de identificación y un token de acceso.

1
  • La pregunta NO se trata de la solicitud de autenticación, sino de la solicitud del token.
    Bee
    10/06/2017 a las 9:32