En esta página, se describe la implementación de Google como proveedor de OpenID Connect y se proporciona la referencia técnica para los extremos de OIDC de Google. La especificación de OpenID Connect (OIDC) Core 1.0 define el protocolo para autenticar usuarios y obtener información de identidad.
Esta referencia no tiene como objetivo proporcionar instrucciones paso a paso sobre cómo implementar OIDC. Para obtener detalles de la implementación, consulta la guía de OpenID Connect.
Documento de descubrimiento
El documento de descubrimiento contiene metadatos sobre la configuración de OpenID Connect de Google, tal como se define en la especificación de OpenID Connect Discovery 1.0.
URL: https://accounts.google.com/.well-known/openid-configuration
Método de solicitud compatible: GET
Cuerpo de la respuesta
Los campos de respuesta se muestran en un objeto JSON en el cuerpo de la respuesta HTTP a la solicitud GET del solicitante a https://accounts.google.com/.well-known/openid-configuration.
| Campo | Tipo | Descripción |
|---|---|---|
issuer |
string |
Es el identificador de la entidad emisora. Es una URL que distingue mayúsculas de minúsculas y usa el esquema https. El valor moderno es https://accounts.google.com; sin embargo, accounts.google.com también se devuelve para las implementaciones heredadas. |
authorization_endpoint |
string |
Es la URL del extremo de autorización. |
device_authorization_endpoint |
string |
Es la URL del extremo de autorización del dispositivo. |
token_endpoint |
string |
Es la URL del extremo del token. |
userinfo_endpoint |
string |
Es la URL del extremo de UserInfo. |
revocation_endpoint |
string |
Es la URL del extremo de revocación. |
jwks_uri |
string |
Es la URL del documento del conjunto de claves web JSON (JWKS). |
response_types_supported |
array |
Es una lista de los valores de response_type admitidos. |
response_modes_supported |
array |
Es una lista de los valores de response_mode admitidos. |
authorization_response_iss_parameter_supported |
boolean |
Es un valor booleano que indica la compatibilidad con RFC 9207. |
subject_types_supported |
array |
Es una lista de los tipos de identificadores de sujeto admitidos. |
id_token_signing_alg_values_supported |
array |
Es una lista de los algoritmos admitidos para firmar el token de ID. |
scopes_supported |
array |
Es una lista de valores de alcance admitidos. |
claims_supported |
array |
Es una lista de los reclamos admitidos. |
token_endpoint_auth_methods_supported |
array |
Es una lista de los métodos de autenticación admitidos para el extremo de token. |
code_challenge_methods_supported |
array |
Es una lista de los métodos de desafío de código admitidos para PKCE. |
grant_types_supported |
array |
Es una lista de los tipos de otorgamiento de OAuth 2.0 admitidos. |
Token de ID (reclamaciones)
El valor id_token que se devuelve en las respuestas es un token web JSON (JWT) firmado que se debe verificar con el material de claves obtenido del jwks_uri que se encuentra en el documento de descubrimiento. En la siguiente tabla, se describe el contenido de la carga útil del ID Token decodificado.
| Reclamar | Tipo | Descripción |
|---|---|---|
iss |
string |
Obligatorio. Es el identificador del emisor de la respuesta. Por lo general, es https://accounts.google.com, pero también se devuelve accounts.google.com para las implementaciones heredadas. |
sub |
string |
Obligatorio. Es un identificador del usuario, único entre todas las Cuentas de Google y que nunca se reutiliza. Una Cuenta de Google puede tener varias direcciones de correo electrónico en diferentes momentos, pero el valor de sub nunca cambia. Usa sub dentro de tu aplicación como la clave del identificador único del usuario. La longitud máxima es de 255 caracteres ASCII que distinguen mayúsculas de minúsculas. |
azp |
string |
Es el identificador del cliente del presentador autorizado, que se obtiene de la consola de Google Cloud. Este reclamo solo es necesario cuando la parte que solicita el token de ID no es la misma que el público del token de ID. |
aud |
string |
Obligatorio. Es el público para el que se destina el token de ID. Es el identificador de cliente de tu aplicación, que se obtiene de la consola de Google Cloud. |
iat |
integer |
Obligatorio. Fecha y hora en que se emitió el token de ID. Se representa en tiempo de época Unix (segundos enteros). |
exp |
integer |
Obligatorio. Fecha y hora de vencimiento a partir de las cuales no se debe aceptar el token de ID. Se representa en tiempo de época Unix (segundos enteros). |
nonce |
string |
Es el valor de nonce que proporciona tu app en la solicitud de autenticación. Para protegerte contra los ataques de reproducción, debes presentar este valor solo una vez. |
auth_time |
integer |
Fecha y hora en que se produjo la autenticación del usuario, un número JSON que representa la cantidad de segundos transcurridos desde la época de Unix (1 de enero de 1970, 00:00:00 UTC). Se proporciona cuando el reclamo auth_time se incluye en el parámetro claims de la solicitud de autenticación. |
at_hash |
string |
Es el hash del token de acceso. Proporciona validación de que el token de acceso está vinculado al token de identidad. Si el token de ID se emite con un valor access_token en el flujo del servidor, esta reclamación siempre se incluye. |
email |
string |
La dirección de correo electrónico del usuario. Se proporciona solo si incluiste el alcance email en tu solicitud. El valor de este reclamo puede no ser único para esta cuenta y podría cambiar con el tiempo, por lo que no debes usarlo como identificador principal para vincularlo a tu registro de usuario. Tampoco puedes confiar en el dominio del reclamo email para identificar a los usuarios de las organizaciones de Google Workspace o Cloud; en su lugar, usa el reclamo hd. Advertencia: No uses la dirección de correo electrónico como identificador, ya que una Cuenta de Google puede tener varias direcciones de correo electrónico en diferentes momentos. Siempre usa el campo sub como identificador del usuario. |
email_verified |
boolean |
Es verdadero si se verificó la dirección de correo electrónico del usuario; de lo contrario, es falso. |
name |
string |
Nombre completo del usuario, en un formato visible. Se puede proporcionar cuando el alcance de la solicitud incluye la cadena profile o cuando se devuelve el token de ID de una actualización del token. |
picture |
string |
Es la URL de la foto de perfil del usuario. Se puede proporcionar cuando el alcance de la solicitud incluye la cadena profile o cuando se devuelve el token de ID de una actualización del token. |
given_name |
string |
El nombre o los nombres de pila del usuario. Se puede proporcionar cuando hay un reclamo de name. |
family_name |
string |
Apellido o apellidos del usuario Se puede proporcionar cuando hay un reclamo de name. |
hd |
string |
Es el dominio asociado con la organización de Google Workspace o Cloud del usuario. Se proporciona solo si el usuario pertenece a una organización de Google Cloud. Debes marcar este reclamo cuando restrinjas el acceso a un recurso solo a los miembros de ciertos dominios. La ausencia de este reclamo indica que la cuenta no pertenece a un dominio alojado por Google. |
Extremo de autorización
El endpoint de autorización se usa para autenticar al usuario y obtener un código de autorización o tokens.
URL: https://accounts.google.com/o/oauth2/v2/auth
Métodos de solicitud admitidos: GET, POST
Parámetros de solicitud
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
client_id |
string |
Obligatorio | Es la cadena del identificador de cliente que obtienes de la consola de Google Cloud. |
nonce |
string |
Opcional | Es un valor aleatorio que genera tu app y que habilita la protección contra repeticiones. Solo es obligatorio si se solicita un ID Token (cuando response_type incluye id_token). |
response_type |
string |
Obligatorio | Determina el flujo que se usará. Si el valor es code, se inicia un flujo de código de autorización, que requiere un POST al extremo de token para obtener los tokens. Si el valor es token, id_token, token id_token o id_token token, se inicia un flujo implícito que requiere el uso de JavaScript en el URI de redireccionamiento para recuperar tokens del fragmento de URI. Se recomienda no usar token de ninguna forma, ya que expone los tokens de acceso en la URL. Este valor está prohibido en OAuth 2.1. |
response_mode |
string |
Opcional | Especifica cómo se entrega la respuesta de autorización. Si response_type es code, el valor predeterminado es query. Para otros tipos de respuestas, el valor predeterminado es fragment. Valores admitidos: query, fragment, form_post. |
redirect_uri |
string |
Obligatorio | Determina dónde se envía la respuesta. El valor de este parámetro debe coincidir exactamente con uno de los valores de redireccionamiento autorizados que estableciste en la consola de Google Cloud (incluidos el esquema HTTP o HTTPS, las mayúsculas y minúsculas, y la barra final "/", si corresponde). Los URI de redireccionamiento y los orígenes de JavaScript autorizados deben seguir las reglas de validación que se describen en la documentación de Validación de URI de OAuth 2.0. |
scope |
string |
Obligatorio | Es una lista no ordenada de alcances delimitados por espacios. La lista debe incluir el valor openid y, luego, el valor profile, el valor email o ambos. También puedes incluir permisos que no sean de OIDC. Si está presente el valor del alcance profile, es posible que el ID Token incluya (pero no se garantiza que lo haga) las reclamaciones profile predeterminadas del usuario. Si el valor del alcance email está presente, el ID Token incluye las reclamaciones email y email_verified. Para obtener más información, consulta Permisos de OAuth 2.0. |
state |
string |
Recomendado | Es una cadena opaca que se transmite en ambos sentidos en el protocolo, es decir, se devuelve como un parámetro de URI en el flujo de código de autorización y en el fragmento de URI en el flujo implícito. El state puede ser útil para correlacionar solicitudes y respuestas. Dado que se puede adivinar tu redirect_uri, usar un valor de state puede aumentar tu certeza de que una conexión entrante es el resultado de una solicitud de autenticación iniciada por tu app. Esto brinda protección contra ataques como la falsificación de solicitudes entre sitios. |
access_type |
string |
Opcional | Los valores permitidos son offline y online. Si tu aplicación necesita actualizar los tokens de acceso cuando el usuario no está presente en el navegador, usa offline. Este valor es obligatorio para obtener un token de actualización. |
hd |
string |
Opcional | Simplificar el proceso de acceso para las cuentas que pertenecen a una organización de Google Cloud Si incluyes el dominio de la organización de Google Cloud (por ejemplo, mycollege.edu), puedes indicar que la IU de selección de cuentas debe optimizarse para las cuentas de ese dominio. Para realizar la optimización para las cuentas de organización de Google Cloud en general en lugar de solo para un dominio de organización de Google Cloud, establece un valor de asterisco (*): hd=*. |
login_hint |
string |
Opcional | Cuando tu app sabe qué usuario intenta autenticar, puede proporcionar este parámetro como una sugerencia al servidor de autenticación. Si pasas esta sugerencia, se suprimirá el selector de cuentas y se precompletará el cuadro de correo electrónico en el formulario de acceso o se seleccionará la sesión adecuada, lo que puede ayudarte a evitar problemas que ocurren si tu app accede a la cuenta de usuario incorrecta. El valor puede ser una dirección de correo electrónico o la cadena sub, que equivale al ID de Google del usuario. |
prompt |
string |
Opcional | Es una lista de valores de cadena separados por espacios que especifica si el servidor de autorización le solicita al usuario que se vuelva a autenticar y que otorgue su consentimiento. Valores posibles: none (sin IU), consent (solicitud de consentimiento), select_account (solicitud para seleccionar una cuenta). |
hl |
string |
Opcional | Es una etiqueta de idioma BCP 47 que se usa para especificar el idioma de visualización de las pantallas de acceso, del selector de cuentas y de consentimiento. No se recomienda usar este parámetro, ya que la configuración del navegador y las preferencias de la Cuenta de Google suelen ser mejores indicadores de la preferencia de idioma del usuario. |
include_granted_scopes |
boolean |
Opcional | Si este parámetro se proporciona con el valor true y se otorga la solicitud de autorización, la autorización incluirá cualquier autorización anterior otorgada a esta combinación de usuario o aplicación para otros alcances. Consulta Autorización incremental. |
claims |
object |
Opcional | El parámetro claims se usa para especificar uno o más campos opcionales que se incluirán en la respuesta de UserInfo o en el ID Token. Para solicitar el reclamo de auth_time, usa claims={\"id_token\":{\"auth_time\":{\"essential\":true}}}. |
Parámetros de respuesta
La respuesta de autorización se entrega al URI de redireccionamiento del cliente (redirect_uri) a través de un redireccionamiento GET HTTP. Los parámetros de respuesta se agregan a la URI de redireccionamiento en la cadena de consulta o el fragmento de URL, según los valores de response_type y response_mode.
| Parámetro | Tipo | Descripción |
|---|---|---|
iss |
string |
Es el identificador del emisor. Según la RFC 9207, este parámetro siempre se devuelve y se establece en https://accounts.google.com. |
code |
string |
Es el código de autorización que se puede intercambiar por un token de acceso y un token de ID. |
state |
string |
Es el mismo valor que el parámetro state de la solicitud. |
id_token |
string |
Es un token web JSON (JWT) que contiene información de identidad sobre el usuario. |
access_token |
string |
Es el token de acceso que se puede enviar a una API de Google. |
token_type |
string |
Es el tipo de token que se devuelve. Siempre Bearer. |
expires_in |
integer |
Es la duración del token de acceso en segundos, en relación con el momento en que se emitió el token. |
scope |
string |
Son los permisos de acceso que otorgan code o access_token, expresados como una lista de cadenas sensibles a mayúsculas y minúsculas delimitadas por espacios. |
error |
string |
Es un código de error si falló la solicitud. |
error_description |
string |
Es una descripción del error si falló la solicitud. |
Respuestas de error
En el caso del extremo de autorización, los errores se devuelven al redirect_uri del cliente como parámetros en la cadena de consulta o el fragmento de URL, o bien se muestran al usuario como una página de error alojada en Google.
Errores de redireccionamiento
Es posible que se muestren los siguientes códigos de error en tu redirect_uri:
| Error | Descripción |
|---|---|
access_denied |
El usuario o el servidor de autorización rechazaron la solicitud. |
invalid_request |
Falta un parámetro obligatorio en la solicitud, se incluye un valor de parámetro no válido, se incluye un parámetro más de una vez o la solicitud tiene un formato incorrecto. |
unauthorized_client |
El cliente no tiene autorización para solicitar un código de autorización con este método. |
unsupported_response_type |
El servidor de autorización no admite la obtención de un código de autorización con este método. |
invalid_scope |
El permiso solicitado no es válido, no se conoce o tiene un formato incorrecto. |
Errores visibles para el usuario
En algunos casos, como cuando client_id o redirect_uri no son válidos, el servidor de autorización no puede redireccionar al usuario de forma segura a tu aplicación.
En estos casos, se muestra directamente una página de error al usuario.
| Error | Descripción |
|---|---|
admin_policy_enforced |
La Cuenta de Google no puede autorizar uno o más permisos solicitados debido a las políticas de su administrador de Google Workspace. Consulta el artículo de ayuda para administradores de Google Workspace para obtener más información sobre cómo un administrador puede restringir el acceso hasta que se otorgue explícitamente a tu identificador de cliente de OAuth. |
disallowed_useragent |
El extremo de autorización se muestra dentro de un agente de usuario incorporado que no permiten las políticas de OAuth 2.0 de Google. |
org_internal |
El identificador de cliente de OAuth de la solicitud forma parte de un proyecto que limita el acceso a las Cuentas de Google en una organización de Google Cloud específica. |
deleted_client |
Se borró el cliente de OAuth que se usa para realizar la solicitud. La eliminación puede ocurrir de forma manual o automática en el caso de los clientes no utilizados. |
invalid_grant |
El parámetro code_challenge no es válido o falta cuando se usa PKCE. Cuando se actualiza un token de acceso o se usa la autorización incremental, es posible que el token haya caducado, se haya invalidado o que se haya borrado o inhabilitado la cuenta de usuario. |
redirect_uri_mismatch |
El redirect_uri que se pasó en la solicitud no coincide con un URI de redireccionamiento autorizado para el identificador de cliente. Revisa los URIs de redireccionamiento autorizados en la consola de Google Cloud. Este error también puede ocurrir si la solicitud usa el flujo de OAuth fuera de banda (OOB) obsoleto. |
invalid_client |
El origen desde el que se realizó la solicitud no está autorizado para este cliente, la configuración del cliente es incorrecta o el secreto del cliente de OAuth es incorrecto. |
origin_mismatch |
El esquema, el dominio o el puerto del JavaScript que origina la solicitud de autorización no coinciden con un URI de origen de JavaScript autorizado registrado para el identificador del cliente de OAuth. Revisa los orígenes de JavaScript autorizados en la consola de Google Cloud. |
invalid_request |
Se produjo un error con la solicitud. Esto podría deberse a una solicitud con formato incorrecto, a la falta de parámetros obligatorios o al uso de un método de autorización que Google no admite. |
Extremo del token
El extremo de token se usa para intercambiar un código de autorización por un token de acceso y un token de ID.
URL: https://oauth2.googleapis.com/token
Método de solicitud compatible: POST
Parámetros de solicitud (otorgamiento de código de autorización)
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
code |
string |
Obligatorio | Es el código de autorización que se recibe del extremo de autorización. |
client_id |
string |
Obligatorio | Es el identificador de cliente de tu aplicación, que se obtiene de la consola de Google Cloud. |
client_secret |
string |
Obligatorio | Es el secreto del cliente de tu aplicación, que se obtiene de la consola de Google Cloud. |
redirect_uri |
string |
Obligatorio | Es el URI de redireccionamiento que se usó en la solicitud de autorización inicial. Los URI de redireccionamiento y los orígenes de JavaScript autorizados deben seguir las reglas de validación que se describen en la documentación de Validación de URI de OAuth 2.0. |
grant_type |
string |
Obligatorio | Se debe establecer en authorization_code. |
Parámetros de solicitud (flujo de dispositivos)
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
client_id |
string |
Obligatorio | Es el identificador de cliente de tu aplicación, que se obtiene de la consola de Google Cloud. |
client_secret |
string |
Obligatorio | Es el secreto del cliente de tu aplicación, que se obtiene de la consola de Google Cloud. |
device_code |
string |
Obligatorio | Es el device_code que devuelve el extremo de autorización del dispositivo. |
grant_type |
string |
Obligatorio | Se debe establecer en urn:ietf:params:oauth:grant-type:device_code. |
Parámetros de solicitud (actualización de un token de acceso)
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
client_id |
string |
Obligatorio | Es el identificador de cliente de tu aplicación, que se obtiene de la consola de Google Cloud. |
client_secret |
string |
Obligatorio | Es el secreto del cliente de tu aplicación, que se obtiene de la consola de Google Cloud. |
grant_type |
string |
Obligatorio | Debe establecerse en refresh_token, como se define en la especificación de Tokens de actualización de OpenID Connect. |
refresh_token |
string |
Obligatorio | Es el token de actualización que se devuelve del intercambio del código de autorización. |
scope |
string |
Opcional | Lista de permisos solicitados para el nuevo token de acceso, delimitada por espacios. Los permisos solicitados deben ser un subconjunto de los permisos otorgados en la solicitud de autorización original. |
Cuerpo de la respuesta
Los campos de respuesta se muestran en un objeto JSON en el cuerpo de la respuesta HTTP a la solicitud POST del solicitante a https://oauth2.googleapis.com/token.
| Campo | Tipo | Descripción |
|---|---|---|
access_token |
string |
Es el token de acceso que se puede enviar a una API de Google. |
expires_in |
integer |
Es la duración del token de acceso en segundos, en relación con el momento en que se emitió el token. |
id_token |
string |
Es un token web JSON (JWT) que contiene información de identidad sobre el usuario. Este token se devuelve durante el intercambio inicial del código de autorización y también se puede devolver durante una solicitud de token de actualización si se otorgó el alcance de openid. |
scope |
string |
Son los permisos de acceso que otorga el access_token, expresados como una lista de cadenas sensibles a mayúsculas y minúsculas delimitadas por espacios. |
token_type |
string |
Es el tipo de token que se devuelve. Siempre Bearer. |
refresh_token |
string |
(Opcional) Es un token que se puede usar para obtener tokens de acceso nuevos. Este campo solo se devuelve en el intercambio inicial de un código de autorización si se solicitó access_type=offline. |
refresh_token_expires_in |
integer |
(Opcional) Es el tiempo de vida restante del token de actualización en segundos. Este valor solo se establece cuando el usuario otorga acceso basado en el tiempo. |
Respuestas de error
Si la solicitud falla, el servidor de autorización devuelve un objeto JSON con los siguientes campos:
| Campo | Tipo | Descripción |
|---|---|---|
error |
string |
Un código de error. |
error_description |
string |
Es una descripción del error si falló la solicitud. |
En la siguiente tabla, se describen los posibles códigos de error y sus códigos de estado HTTP asociados:
| Error | Código de estado HTTP | Descripción |
|---|---|---|
invalid_request |
400 |
Falta un parámetro obligatorio en la solicitud, se incluye un valor de parámetro no válido o la solicitud tiene un formato incorrecto. |
invalid_client |
401 |
No se pudo realizar la autenticación del cliente. Por ejemplo, el client_id o el client_secret no son válidos, o el tipo de cliente es incorrecto. |
invalid_grant |
400 |
El código de autorización, el token de actualización o el código del dispositivo proporcionados no son válidos, vencieron, se revocaron o no coinciden con el URI de redireccionamiento que se usó en la solicitud de autorización. |
unauthorized_client |
400 |
El cliente autenticado no está autorizado para usar este tipo de otorgamiento de autorización. |
unsupported_grant_type |
400 |
El servidor de autorización no admite el tipo de concesión de autorización. |
invalid_scope |
400 |
El permiso solicitado no es válido, no se conoce o tiene un formato incorrecto. |
authorization_pending |
428 |
(Flujo del dispositivo) El usuario aún no completó el flujo de autorización. |
slow_down |
429 |
(Flujo del dispositivo) El dispositivo envía solicitudes de sondeo con demasiada frecuencia. |
access_denied |
403 |
(Flujo del dispositivo) El usuario rechazó el acceso al dispositivo. |
expired_token |
400 |
(Flujo del dispositivo) El device_code venció. |
admin_policy_enforced |
400 |
El usuario no puede autorizar los permisos solicitados debido a las políticas que aplica el administrador de Google Workspace. |
org_internal |
403 |
El identificador de cliente forma parte de un proyecto que limita el acceso a una organización específica de Google Cloud. |
Extremo de autorización de dispositivo
El extremo de autorización del dispositivo se usa en el flujo de dispositivos de OAuth 2.0 para obtener un código de usuario y una URL de verificación para dispositivos con capacidades de entrada limitadas.
URL: https://oauth2.googleapis.com/device/code
Método de solicitud compatible: POST
Parámetros de solicitud
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
client_id |
string |
Obligatorio | Es el identificador de cliente de tu aplicación, que se obtiene de la consola de Google Cloud. |
scope |
string |
Obligatorio | Una lista delimitada por espacios de los alcances que identifican los recursos a los que la aplicación podría acceder en nombre del usuario. |
Cuerpo de la respuesta
La respuesta es un objeto JSON que contiene los siguientes campos:
| Campo | Tipo | Descripción |
|---|---|---|
device_code |
string |
Es un valor que Google asigna de forma única para identificar el dispositivo que ejecuta la app que solicita autorización. |
user_code |
string |
Es un valor sensible a mayúsculas y minúsculas que identifica ante Google los permisos de acceso que solicita la aplicación. Tu interfaz de usuario le indicará al usuario que ingrese este valor en un dispositivo independiente con capacidades de entrada más completas. |
verification_url |
string |
Es una URL a la que el usuario debe navegar en un dispositivo independiente para ingresar el user_code y otorgar o rechazar el acceso a tu aplicación. |
expires_in |
integer |
Es la cantidad de tiempo, en segundos, durante la que son válidos los parámetros device_code y user_code. |
interval |
integer |
Es el tiempo, en segundos, que tu dispositivo debe esperar entre las solicitudes de sondeo. |
Extremo de revocación
El extremo de revocación permite que tu aplicación revoque un token de acceso o un token de actualización.
URL: https://oauth2.googleapis.com/revoke
Método de solicitud compatible: POST
Parámetros de solicitud
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
token |
string |
Obligatorio | Es el token de acceso o de actualización que deseas revocar. |
Cuerpo de la respuesta
Si la revocación se realiza correctamente, la respuesta es un 200 OK HTTP vacío. Si falla la revocación, se devuelve una respuesta de error en un objeto JSON.
| Campo | Tipo | Descripción |
|---|---|---|
error |
string |
Es un código de error si falló la solicitud. |
error_description |
string |
Es una descripción del error si falló la solicitud. |
En la siguiente tabla, se describen los posibles códigos de error:
| Error | Descripción |
|---|---|
invalid_token |
El token proporcionado en la solicitud ya venció o se revocó. |
invalid_request |
Falta un parámetro obligatorio en la solicitud, se incluye un valor de parámetro no válido o la solicitud tiene un formato incorrecto. |
Extremo UserInfo
El extremo UserInfo devuelve información del perfil sobre el usuario autenticado.
URL: https://openidconnect.googleapis.com/v1/userinfo
Métodos de solicitud admitidos: GET, POST
Encabezados de la solicitud
| Encabezado | Descripción |
|---|---|
Authorization |
Obligatorio. Debe establecerse en Bearer: access_token. |
Cuerpo de la respuesta
Los campos de respuesta se muestran en un objeto JSON en el cuerpo de la respuesta HTTP a la solicitud GET o POST del solicitante a https://openidconnect.googleapis.com/v1/userinfo.
| Campo | Tipo | Descripción |
|---|---|---|
sub |
string |
Obligatorio. Es un identificador del usuario, único entre todas las Cuentas de Google y que nunca se reutiliza. Cadena sensible a mayúsculas y minúsculas que no supera los 255 caracteres. |
name |
string |
Nombre completo del usuario, en un formato visible. |
given_name |
string |
El nombre o los nombres de pila del usuario. |
family_name |
string |
Apellido o apellidos del usuario |
picture |
string |
Es la URL de la foto de perfil del usuario. |
email |
string |
La dirección de correo electrónico del usuario. |
email_verified |
boolean |
Indica si se verificó la dirección de correo electrónico del usuario. |
hd |
string |
Es el dominio alojado asociado con la organización de Google Workspace o Cloud del usuario. |
Extremo de Tokeninfo
El extremo tokeninfo es una implementación específica de Google que se usa para validar un token de ID con fines de depuración.
URL: https://oauth2.googleapis.com/tokeninfo
Métodos de solicitud admitidos: GET, POST
Parámetros de solicitud
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
id_token |
string |
Obligatorio | Es el token de ID que se validará. |
Cuerpo de la respuesta
Los campos de respuesta se muestran en un objeto JSON en el cuerpo de la respuesta HTTP a la solicitud GET o POST del solicitante a https://oauth2.googleapis.com/tokeninfo.
| Campo | Tipo | Descripción |
|---|---|---|
iss |
string |
Es el identificador del emisor. Siempre https://accounts.google.com. |
sub |
string |
Es un identificador del usuario, único entre todas las Cuentas de Google y que nunca se reutiliza. |
aud |
string |
Es el público para el que se destina el token de ID. Es el identificador de cliente de tu aplicación, que se obtiene de la consola de Google Cloud. |
iat |
integer |
Fecha y hora en que se emitió el JWT. Se representa como la cantidad de segundos desde 1970-01-01T0:0:0Z, según se mide en UTC. |
exp |
integer |
Fecha y hora de vencimiento a partir de las cuales no se debe aceptar el token de ID para su procesamiento. Se representa como la cantidad de segundos desde 1970-01-01T0:0:0Z, según se mide en UTC. |
email |
string |
La dirección de correo electrónico del usuario. |
email_verified |
string |
Indica si se verificó la dirección de correo electrónico del usuario. El valor es una cadena "true" o "false". |
access_type |
string |
Es el tipo de acceso solicitado en la solicitud de autorización original. |
azp |
string |
Es el identificador del cliente del presentador autorizado, que se obtiene de la consola de Google Cloud. |
scope |
string |
Lista de permisos otorgados al token, delimitados por espacios. |
alg |
string |
Es el algoritmo que se usa para firmar el token de ID. |
kid |
string |
Es el ID de clave que se usa para firmar el token de ID. |
typ |
string |
Es el tipo de token. Siempre JWT. |