/oauth/token. El uso del endpoint /oauth/ro quedó obsoleto el 08 de julio de 2017. Anteriormente, el endpoint /oauth/ro se usaba para intercambiar un código de un solo uso (OTP) recibido por el usuario final por correo electrónico o SMS por un y un . Auth0 ha implementado una nueva API que reemplaza /oauth/ro para este caso de uso, y le recomendamos migrar al nuevo endpoint.
Características afectadas
/oauth/ro directamente sin usar ninguna biblioteca ni SDK de Auth0.
Cuando el token de acceso basado en
/oauth/ro de un usuario expira, Auth0 obliga al usuario a autenticarse de nuevo (es necesario forzar el cierre de sesión), ya que el token de actualización de /oauth/ro no se puede usar para llamar a /oauth/token y obtener un nuevo token de acceso. Todos los usuarios que tengan una sesión iniciada actualmente deberán volver a iniciar sesión durante una migración de /oauth/ro a /oauth/token.Actions
Cambios en la solicitud
/oauth/ro era similar a la siguiente:
- El endpoint para ejecutar el intercambio de tokens ahora es
/oauth/token. - El tipo de concesión propio de Auth0 se usa para autenticar a usuarios desde una conexión (o realm) específica.
- Auth0 admite los alcances estándar de OIDC, junto con los alcances que haya definido en su API personalizada.
- Un scope que no encaja en una de estas categorías, como el
favorite_coloranterior, ya no es válido. - Se elimina el parámetro
device. - El parámetro
audiencees opcional.
/oauth/token:
- El tipo de concesión se especifica aquí como
http://auth0.com/oauth/grant-type/passwordless/otp. - Los parámetros
client_idyusernameno cambian. - Es necesario especificar
client_secretpara (por ejemplo, aplicaciones web tradicionales). - El código de un solo uso debe enviarse en el parámetro
otpen lugar del parámetropassword. realmse usa para identificar la conexión y sustituye al parámetroconnectionde llamadas anteriores.- El parámetro
scopees en gran medida el mismo, pero no acepta valores que no sean de OIDC. - Se puede agregar el parámetro
audience, que indica la de la API a la que se destinará el token.
Cambios en las respuestas
/oauth/ro tenían un formato similar a este:
- El token de acceso devuelto es válido para llamar al endpoint
/userinfo(siempre que la API especificada por el parámetroaudienceuse RS256 como ) y, opcionalmente, a la API personalizada, si se especificó una. - El ID Token se firmará obligatoriamente con RS256 si lo solicita un .
- Se devolverá un solo si se concedió el scope
offline_accessy la API tiene activada la opción Permitir acceso sin conexión.
/oauth/token:
Cambios en el código al usar los SDKs
OIDC Conformant en true al configurar las bibliotecas.
| Biblioteca | Versión mínima |
|---|---|
| SDK de Android | 1.2 |
| Lock Android | 2.17 |
| SDK de Swift | 1.20.0 |
| Lock iOS | 2.14.0 |
Verificar la migración
- Para verificar si está usando el endpoint obsoleto, consulte los registros del inquilino, filtre por Deprecation Notice y luego busque registros que indiquen
oauth/ropasswordless: This feature is being deprecated. También puede realizar esta búsqueda directamente con la siguiente consulta:type:depnote AND description:*passwordless*. - Una vez que haya migrado su base de código y esté seguro de que sus aplicaciones no están haciendo llamadas al endpoint, vaya al Dashboard, en Tenant Settings > Advanced.
- Desplácese hacia abajo hasta Migrations y desactive Legacy
/oauth/roEndpoint. Al desactivar este interruptor, se inhabilita el endpoint obsoleto para su inquilino, lo que evita que siga usándose.