Saltar al contenido principal
El flujo de contraseña del propietario del recurso (a veces denominado concesión de contraseña del o ROPG) es utilizado por aplicaciones de alta confianza para realizar autenticación activa. A diferencia de las concesiones de código de autorización e implícita, este mecanismo de autenticación no redirige a los usuarios a Auth0. Autentica a los usuarios con una sola solicitud, intercambiando sus credenciales de contraseña por un token. La canalización compatible con OIDC afecta al flujo de contraseña del propietario del recurso en las siguientes áreas:
  • Solicitud de autenticación
  • Respuesta de autenticación
  • Estructura del
  • Estructura del

Solicitud de autenticación

Legado

POST /oauth/ro HTTP 1.1
Content-Type: application/json
{
  "grant_type": "password",
  "client_id": "123",
  "username": "alice",
  "password": "A3ddj3w",
  "connection": "my-database-connection",
  "scope": "openid email favorite_color offline_access",
  "device": "my-device-name"
}
El parámetro device solo es necesario si solicita un al pasar el scope offline_access.

Compatible con OIDC

POST /oauth/token HTTP 1.1
Content-Type: application/x-www-form-urlencoded
grant_type=http%3A%2F%2Fauth0.com%2Foauth%2Fgrant-type%2Fpassword-realm&client_id=123&username=alice&password=A3ddj3w&realm=my-database-connection&scope=openid+email+offline_access&audience=https%3A%2F%2Fapi.example.com
  • El endpoint para ejecutar intercambios de credenciales es /oauth/token.
  • El tipo de concesión propio de Auth0 se usa para autenticar a usuarios desde una conexión específica (realm). También se admite la concesión de contraseña estándar de OIDC, pero no acepta parámetros específicos de Auth0 como realm.
  • favorite_color ya no es un scope válido.
  • Se elimina el parámetro device.
  • El parámetro audience es opcional.

Respuesta de autenticación

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 pasó el 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 al endpoint /userinfo (siempre que la API especificada por el parámetro audience use RS256 como algoritmo de firma) y, opcionalmente, para el especificado por el parámetro audience.
  • El ID Token se firmará obligatoriamente con RS256 si lo solicita una aplicación pública. Para obtener más información, consulta Aplicaciones confidenciales y públicas.
  • Solo se devolverá un token de actualización si se concedió el scope offline_access.

Estructura del ID Token

Legado

compatible con OIDC

  • El token de ID se firmará obligatoriamente con RS256 si lo solicita una aplicación pública.
  • La claim favorite_color debe usar un espacio de nombres y agregarse mediante una Rule. Para obtener más información, consulte Crear claims personalizadas con espacio de nombres.

Estructura del token de acceso (opcional)

legado

JSON
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 un válido para llamar al endpoint /userinfo (siempre que la API especificada por el parámetro audience use RS256 como ), así como al servidor de recursos especificado por el parámetro audience.
  • Tenga en cuenta que aún podría devolverse un token de acceso opaco si /userinfo es la única especificada.

Solicitudes estándar de concesión de contraseña

La concesión de contraseña con realm de Auth0 no está definida en el estándar OIDC, pero se recomienda como alternativa al endpoint heredado de propietario de recursos, ya que admite el parámetro realm específico de Auth0. El flujo estándar de OIDC también se admite cuando se utiliza la autenticación OIDC.

Más información