Saltar al contenido principal
El flujo de código de autorización se utiliza en aplicaciones del lado del servidor que pueden almacenar secretos de forma segura, o en aplicaciones nativas mediante el flujo de código de autorización con PKCE. La canalización compatible con OIDC afecta al flujo de código de autorización en las siguientes áreas:
  • Solicitud de autenticación
  • Respuesta de autenticación
  • Solicitud de intercambio de código
  • Respuesta de intercambio de código
  • Estructura del
  • Estructura del

Solicitud de autenticación

Heredado

GET /authorize?
    response_type=code
    &scope=openid email favorite_color offline_access
    &client_id=123
    &state=af0ifjsldkj
    &redirect_uri=https://app.example.com/callback
    &device=my-device-name
El parámetro device solo es necesario si solicita un al incluir el scope offline_access. Para obtener más información, consulte Tokens de actualización.

compatible con OIDC

GET /authorize?
    response_type=code
    &scope=openid email offline_access
    &client_id=123
    &state=af0ifjsldkj
    &redirect_uri=https://app.example.com/callback
    &audience=https://api.example.com
  • favorite_color ya no es un valor válido para scope.
  • Se eliminó el parámetro device.
  • El parámetro audience es opcional.

Respuesta de autenticación

La respuesta de Auth0 es idéntica en ambos flujos:
HTTP/1.1 302 Found
Location: https://app.example.com/callback?
    code=SplxlOBeZQQYbYS6WxSbIA
    &state=af0ifjsldkj

Solicitud de intercambio de código - flujo de código de autorización

Un código de autorización puede intercambiarse de la misma manera en ambos flujos:

Solicitud de intercambio de código: flujo de código de autorización con PKCE

Un código de autorización se puede intercambiar de la misma manera en ambos pipelines:

Respuesta al intercambio de código

Legado

HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache
{
    "access_token": "SlAV32hkKG",
    "token_type": "Bearer",
    "refresh_token": "8xLOxBtZp8",
    "expires_in": 3600,
    "id_token": "eyJ..."
}
  • El Token de acceso devuelto solo es válido para llamar al endpoint /userinfo.
  • Solo se devolverá un Token de actualización si se proporcionó un parámetro device y se solicitó el scope offline_access.

Compatible con OIDC

HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache
{
    "access_token": "eyJ...",
    "token_type": "Bearer",
    "refresh_token": "8xLOxBtZp8",
    "expires_in": 3600,
    "id_token": "eyJ..."
}
  • El token de acceso devuelto es válido para llamar, de forma opcional, a la API especificada en el parámetro audience y al endpoint /userinfo (siempre que la API use RS256 como algoritmo de firma y que openid se use como parámetro scope). Si no está implementando su propio (API), puede usar https://{$account.namespace}/userinfo como parámetro audience, lo que devolverá un token de acceso opaco.
  • Solo se devolverá un token de actualización si se concedió el scope offline_access.

Estructura del token de ID

Heredado

Compatible con OIDC

La reclamación favorite_color debe añadirse mediante una Action de Auth0. Para obtener más información, consulte Crear reclamaciones personalizadas.

Estructura del token de acceso (opcional)

Heredado

HTTP
SlAV32hkKG
El token de acceso devuelto es opaco y solo es válido para llamar al endpoint /userinfo.

Compatible con OIDC

El token de acceso devuelto es válido para llamar, de forma opcional, a la API especificada en el parámetro audience y al endpoint /userinfo (siempre que la API use RS256 como y que openid se use como parámetro scope). Si no está implementando su propio servidor de recursos (API), puede usar https://{$account.namespace}/userinfo como parámetro audience, que devolverá un token de acceso opaco.

Más información