Skip to content

Autenticación sin Interacción con el Usuario

Es posible pedir la autenticación de determinado usuario al informar un id_token previamente emitido. Para tal, es necesario agregar dos pares key/value en la Query string de la solicitud (capítulo 4).

Parámetros Necesarios

id_token_hint

Debe contener el JWT que representa algún id_token previamente emitido.

&id_token_hint=<jwt_token>

prompt

Debe poseer el valor none.

&prompt=none

Ejemplo de Solicitud

{login-producao}/authorize?response_type=code&scope=openid profile&client_id=exampleclient&redirect_uri=https://ejemplo.com.br/callback&id_token_hint=qbcd.1234.xyz&prompt=none

Comportamiento

Caso de Éxito

Si el usuario referido por la solicitud de autenticación posee sesión activa, la misma ocurrirá de forma automática. El usuario será redirigido a la redirect_uri con el código de autorización, sin necesidad de interacción.

Caso de Falla

Si el usuario no posee sesión activa, posee sesión expirada o la sesión activa no pertenece al usuario referido, el user_agent (navegador del usuario) será redirigido al URI de redirección informada en la solicitud de autenticación, con los parámetros informativos relativos al error observado.

Error Específico

Si usa id_token_hint sin definir prompt=none, recibirá el siguiente error:

error: "invalid_request"
error_description: "The use of the id_token_hint property requires the prompt value to be set as 'none'."

Casos de Uso

Esta funcionalidad es útil para:

  • Verificar si el usuario aún posee sesión activa
  • Renovar tokens sin solicitar login nuevamente
  • Implementar "recordarme" o sesiones persistentes
  • Mejorar la experiencia del usuario evitando logins repetidos

Ejemplo de Implementación

javascript
function verificarSesionActiva(idTokenAnterior) {
  const authUrl = `{login-producao}/authorize?response_type=code&scope=openid profile&client_id=exampleclient&redirect_uri=https://ejemplo.com.br/callback&id_token_hint=${idTokenAnterior}&prompt=none`;
  
  window.location.href = authUrl;
}

En el callback, debe verificar si recibió un código (éxito) o un error (sesión no activa).

Documentación de la API Fanbase