Tipo de permiso implícito

Utilice este tipo de permiso cuando la aplicación personalizada no pueda mantener la confidencialidad de las credenciales de cliente y reciba un token de acceso directamente desde una solicitud de autorización en lugar de a través de un código de autorización intermedio.

En el siguiente diagrama se muestra el flujo de tipo de permiso implícito.

Diagrama que ilustra el flujo de tipo de concesión implícita.

En este flujo OAuth:

  1. Una aplicación personalizada, por ejemplo, se implanta en una aplicación de cliente mediante un lenguaje de secuencias de comandos como JavaScript o se implanta para un dispositivo móvil. El usuario solicita autenticación y autorización a través de la aplicación.

  2. La aplicación cliente solicita al usuario que proporcione sus credenciales.

  3. El usuario introduce sus credenciales.

  4. Si está autorizado, se redirige al usuario a una URL que contiene el token de acceso en un fragmento de URL.

  5. La aplicación extrae el token de acceso de la URL.

  6. La aplicación utiliza el token de acceso en una solicitud de recursos protegidos, como una lista de usuarios.

Función Disponibles
Requiere autenticación de cliente No
Necesita que el cliente conozca las credenciales de usuario No
Interacción de usuario final basada en explorador
Puede utilizar un proveedor de identidad externo para la autenticación
Se permite el token de refrescamiento No
El token de acceso está en el contexto del usuario final

Consulte un ejemplo de flujo de autorización de tipo de permiso implícito.

Ejemplo de Flujo de Autorización de Tipo de Permiso Implícito

En este ejemplo de autorización de tipo de permiso implícito se describe el flujo de autorización para las aplicaciones que se implantan en un explorador web mediante un lenguaje de secuencias de comandos como JavaScript o implantado en un dispositivo móvil. Se devuelve un token de acceso al cliente mediante un redireccionamiento del explorador en respuesta a la solicitud de autorización del propietario del recurso (en lugar de un código de autorización intermedia).

Al crear una aplicación para la autorización de aplicaciones del cliente en la consola del dominio de identidad:

  • Especifique que se trata de un tipo de aplicación móvil.

  • Seleccione Implícito como tipo de permiso. Este tipo de aplicación no puede mantener un secreto y se ejecuta en un explorador web no autenticado o en un dispositivo móvil.

Consulte Tipo de permiso implícito para obtener más información sobre el tipo de permiso implícito y un diagrama de flujo de autorización.

Pasos de Proceso

  1. Un usuario hace clic en un enlace de inicio de sesión en su aplicación de explorador o pulsa un botón de inicio de sesión en su dispositivo, solicitando acceso a recursos protegidos desde una aplicación cliente.

  2. El cliente redirige el explorador al servidor de autorización OAuth con una solicitud de autorización.

    La URL de conexión contiene parámetros de consulta que indican el tipo de acceso que se solicita:

    Solicitud de ejemplo https://acme.identity.us.oraclecloud.com/oauth2/v1/authorize?client_id=<client-id>&response_type=token&redirect_uri=<client-redirect-uri>&scope=<scope>&nonce=<nonce-value>
    Nota

    Un valor nonce es una cadena aleatoria criptográficamente segura que se utiliza para evitar que se reutilicen las respuestas interceptadas.
  3. Si el usuario aún no está conectado, el servidor de autorización OAuth reta al usuario a autenticarse. El servidor de autorización OAuth autentica al usuario y proporciona una página de consentimiento para que el usuario autorice el uso compartido de información.

  4. Una vez que el usuario lo autoriza, el servidor de autorización OAuth redirige el explorador al sitio solicitante con un token de acceso.
    Nota

    Si el usuario no se autentica, se devuelve un error en lugar del token de acceso.
  5. Se devuelve el token de acceso que contiene todos los ámbitos aplicables en función de los privilegios representados por los roles de aplicación otorgados a la aplicación cliente solicitante y el usuario especificado por la solicitud del cliente (si está presente).

  6. El sitio solicitante utiliza el token de acceso en una llamada de API para obtener datos protegidos.