Tipos de otorgamiento
El tipo de concesión indica el mecanismo de autorización que utiliza el cliente para obtener el token de identificación y el token de acceso de Verify. Puedes elegir entre código de autorización, implícito, código de autorización e implícito, flujo de dispositivo, credenciales del propietario del recurso, JWT, autorización basada en el contexto, token de actualización e intercambio de tokens.
| Características | Código preautorizado | Código de autorización | Implícito | Código de autorización e implícito |
|---|---|---|---|---|
| Descripción | /preauth El punto final de preautorización devuelve un código de preautorización. El código preautorizado se canjea por un token de acceso. /tokenEs necesario que el cliente se autentique para obtener un token de acceso a través del punto final de tokens. |
El punto final de autorización La autenticación de cliente es obligatoria y utiliza un ID de cliente y secreto para
recuperar la señal de ID o la señal de acceso del punto final de señal
Es el flujo más usado. |
El punto final de autorización No utiliza un código de autorización o un punto final de señal |
Permite al front-end y back-end del cliente recibir señales con independencia del otro. El cliente obtiene un código de autorización y señales del punto final de autorización |
| Caso práctico | Se utiliza en situaciones de emisión de credenciales en las que:
|
Lo utilizan los clientes que pueden mantener de forma segura un secreto de cliente como aplicaciones web y aplicaciones móviles nativas. Su objetivo es autenticar al usuario y al cliente. |
Lo utilizan los clientes que no pueden mantener un secreto de cliente como los navegadores o las aplicaciones basadas en JavaScript. Tiene por objetivo autenticar al usuario. |
Lo utilizan los clientes que:
|
| Valor de tipo de respuesta | No aplicable |
|
|
|
| Todas las señales se devuelven desde el punto final de autorización. | No aplicable | No | Sí | No |
| Todas las señales se devuelven desde el punto final de señal. | Sí | Sí | No | No |
| Las señales no se descubren para el agente de usuario. | Sí | Sí | No | No |
| La aplicación cliente se puede autenticar. | Sí | Sí | No | Sí |
| Generar señales de renovación. | Sí | Sí | No | Sí |
| Comunicación en un viaje de ida y vuelta | No | No | Sí | No |
| La mayoría de las comunicaciones de servidor a servidor | Sí | Sí | No | varía |
| Sugerencia de inicio de sesión (login_hint) | No | Sí Este valor podría ser el nombre de usuario como cadena, por ejemplo,
john@ibm.com, o un JSON, por ejemplo,. Cuando se utiliza un valor JSON, el dominio representa el dominio de origen de identidad. |
Sí Este valor podría ser el nombre de usuario como cadena, por ejemplo,
john@ibm.com, o un JSON, por ejemplo,. Cuando se utiliza un valor JSON, el dominio representa el dominio de origen de identidad. |
Sí Este valor podría ser el nombre de usuario como cadena, por ejemplo,
john@ibm.com, o un JSON, por ejemplo,. Cuando se utiliza un valor JSON, el dominio representa el dominio de origen de identidad. |
| Antigüedad máxima de autenticación (max_age) | No aplicable | Este valor es el tiempo permitido transcurrido, en segundos, desde la última vez que el usuario se ha autenticado activamente. Este atributo se aplica sólo a las sesiones de inicio de sesión de Cloud Directory. | Este valor es el tiempo permitido transcurrido, en segundos, desde la última vez que el usuario se ha autenticado activamente. Este atributo se aplica sólo a las sesiones de inicio de sesión de Cloud Directory. | Este valor es el tiempo permitido transcurrido, en segundos, desde la última vez que el usuario se ha autenticado activamente. Este atributo se aplica sólo a las sesiones de inicio de sesión de Cloud Directory. |
| Flujo de trabajo |
|
|
|
|
| Características | Flujo de dispositivo | Credenciales de contraseña del propietario del recurso | JWT |
|---|---|---|---|
| Descripción | Permite que el cliente reciba autorización utilizando un código QR o un código de usuario que se envía a un URL. | La autenticación de cliente y usuario es necesaria por medio de un ID de cliente, un secreto de cliente, un nombre de usuario y una contraseña para recuperar la señal de acceso y la señal de ID del punto final de señal/señal. El nombre de usuario y la contraseña se valida contra Cloud Directory. | Definido en RFC7523. Permite a un cliente presentar un JWT firmado o cifrado, o firmado y cifrado a cambio de un otorgamiento. El servidor de autorizaciones valida JWT y la identidad dentro del JWT se utiliza como sujeto del otorgamiento. |
| Caso práctico | Lo utilizan los clientes que:
|
Este tipo de otorgamiento puede estar habilitado, pero utilícelo si no hay ningún otro flujo disponible. Puede utilizarse
para:
|
Existe una relación de confianza establecida entre el servidor de autorización (Verify) y una entidad, que emite JWT. El cliente obtiene un JWT de la entidad emisora de JWT y lo presenta al servidor de autorizaciones a cambio de un otorgamiento. La entidad emisora de JWT puede tener sus propios requisitos, que deben cumplirse antes de que se emita un JWT (como, por ejemplo, una autenticación alternativa y comprobaciones de autorización). |
| Valor de tipo de respuesta | No aplicable | No aplicable | No aplicable |
| Todas las señales se devuelven desde el punto final de autorización. | No | No | No |
| Todas las señales se devuelven desde el punto final de señal. | Sí | Sí | Sí |
| Las señales no se descubren para el agente de usuario. | Sí | Sí | Sí |
| La aplicación cliente se puede autenticar. | Sí | Sí | Sí |
| Generar señales de renovación. | Sí | Sí | Sí |
| Comunicación en un viaje de ida y vuelta | |||
| La mayoría de las comunicaciones de servidor a servidor | |||
| Sugerencia de inicio de sesión (login_hint) | No | No | No |
| Antigüedad máxima de autenticación (max_age) | No aplicable | ||
| Flujo de trabajo |
|
|
|
| Características | Autorización basada en contexto | Renovar señal | Intercambio de señal |
|---|---|---|---|
| Descripción | Un flujo controlado por API en el que se realizan comprobaciones de autorización y autenticación adicionales. Antes de que se emita un otorgamiento al cliente, es posible que sea necesaria la autenticación de multifactores. | Es necesario autenticar al cliente y al usuario mediante un ID de cliente, un secreto de cliente y un token de actualización para obtener un nuevo conjunto de token de acceso, token de identificación y token de actualización desde el punto final de tokens /token. El token de actualización debe pertenecer al mismo ID de cliente. Los valores de los atributos asociados al token no se actualizan durante este flujo. | Definido en RFC8693. Permite a un cliente presentar un token para canjearlo por otro. |
| Caso práctico |
|
Utiliza este tipo de autorización para obtener un nuevo conjunto de tokens de acceso, con una vigencia renovada. Esto permite que la vigencia del token de acceso sea breve, pero no obligará al usuario a volver a iniciar sesión para obtener un nuevo token de acceso. |
|
| Valor de tipo de respuesta | No aplicable | No aplicable | No aplicable |
| Todas las señales se devuelven desde el punto final de autorización. | No | No | No |
| Todas las señales se devuelven desde el punto final de señal. | Sí | Sí | Sí |
| Las señales no se descubren para el agente de usuario. | Sí | Sí | Sí |
| La aplicación cliente se puede autenticar. | Sí | Sí | Sí |
| Generar señales de renovación. | Sí | Sí | Sí |
| Comunicación en un viaje de ida y vuelta | Sí | ||
| La mayoría de las comunicaciones de servidor a servidor | Sí | ||
| Sugerencia de inicio de sesión (login_hint) | No | No | No |
| Antigüedad máxima de autenticación (max_age) | No aplicable | No | |
| Flujo de trabajo |
Nota:
|
|
|