En esta referencia, se describe la API de la biblioteca de JavaScript de autorización de terceros, que puedes usar para cargar códigos de autorización o tokens de acceso de Google.
Método: google.accounts.oauth2.initCodeClient
El método initCodeClient
inicializa y muestra un cliente de código, con las configuraciones en el parámetro.
google.accounts.oauth2.initCodeClient(config: CodeClientConfig)
Tipo de datos: CodeClientConfig
En la siguiente tabla, se enumeran las propiedades del tipo de datos CodeClientConfig
.
Propiedades | |
---|---|
client_id
|
Obligatorio. El ID de cliente para tu aplicación. Puedes encontrar este valor en la Consola de API. |
scope
|
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. Estos valores informan la pantalla de consentimiento que Google le muestra al usuario. |
include_granted_scopes |
Opcional, el valor predeterminado es true . Permite que las aplicaciones usen la autorización incremental para solicitar acceso a permisos adicionales en contexto. Si configuras el valor de este parámetro como false y se otorga la solicitud de autorización, el nuevo token de acceso solo cubrirá cualquier permiso al que se solicite scope en este CodeClientConfig .
|
redirect_uri
|
Obligatorio para la UX de redireccionamiento. Determina dónde el servidor de la API redirecciona al usuario después de que completa el flujo de autorización. El valor debe coincidir exactamente con uno de los URI de redireccionamiento autorizados para el cliente de OAuth 2.0, que configuraste en la Consola de API, y debe cumplir con nuestras reglas de validación de URI de redireccionamiento. La UX emergente ignorará la propiedad. |
callback |
Es obligatorio para la experiencia de usuario emergente. La función de JavaScript que maneja la respuesta de código que se muestra. La UX de redireccionamiento ignorará la propiedad. |
state |
Opcional. Se recomienda para la UX de redireccionamiento. Especifica cualquier valor de string que use tu aplicación para mantener el estado entre tu solicitud de autorización y la respuesta del servidor de autorización. |
enable_serial_consent |
Opcional, el valor predeterminado es true . Si estableces la política en false , se inhabilitarán los permisos detallados de la Cuenta de Google para los ID de cliente de OAuth que se hayan creado antes de 2019. No tiene ningún efecto en los ID de cliente de OAuth más recientes, ya que siempre están habilitados los permisos más detallados.
|
hint |
Opcional. Si tu aplicación sabe qué usuario debe autorizar la solicitud, puede usar esta propiedad para proporcionarle una sugerencia a Google. La dirección de correo electrónico del usuario de destino.
Para obtener más información, consulta el campo login_hint en la documentación de OpenID Connect.
|
hosted_domain |
Opcional. Si tu aplicación conoce el dominio de Workspace al que pertenece el usuario, utiliza esta opción para proporcionar una sugerencia a Google.
Para obtener más información, consulta el campo hd en la documentación de OpenID Connect.
|
ux_mode |
Opcional. El modo de UX que se usará para el flujo de autorización. De forma predeterminada, se abrirá el flujo de consentimiento en una ventana emergente. Los valores válidos son popup y redirect .
|
select_account |
Opcional, el valor predeterminado es 'false'. Valor booleano que le solicita al usuario seleccionar una cuenta. |
error_callback |
Opcional. La función de JavaScript que maneja algunos errores que no son de OAuth, como la ventana emergente, no se abre o se cierra antes de que se muestre una respuesta de OAuth.
El campo “type” (tipo) del parámetro de entrada proporciona el motivo detallado.
|
Tipo de datos: CodeClient
La clase tiene solo un método público requestCode, que inicia el flujo de UX del código OAuth 2.0.
interface CodeClient {
requestCode(): void;
}
Tipo de datos: CodeResponse
Se pasará un objeto CodeResponse
de JavaScript al método callback
en la UX emergente. En la UX de redireccionamiento, CodeResponse
se pasará como parámetros de URL.
En la siguiente tabla, se enumeran las propiedades del tipo de datos CodeResponse
.
Propiedades | |
---|---|
code |
El código de autorización de una respuesta de token exitosa. |
scope |
Una lista delimitada por espacios de los permisos que aprueba el usuario. |
state |
El valor de string que usa tu aplicación para mantener el estado entre tu solicitud de autorización y la respuesta. |
error |
Un solo código de error ASCII. |
error_description |
Texto ASCII legible que proporciona información adicional y se usa para ayudar al desarrollador del cliente a comprender el error que se produjo |
error_uri |
Un URI que identifica una página web legible con información sobre el error, que se usa para proporcionar información adicional sobre el error al desarrollador del cliente. |
Método: google.accounts.oauth2.initTokenClient
El método initTokenClient
inicializa y muestra un cliente token, con las configuraciones en el parámetro.
google.accounts.oauth2.initTokenClient(config: TokenClientConfig)
Tipo de datos: TokenClientConfig
En la siguiente tabla, se enumeran las propiedades del tipo de datos TokenClientConfig
.
Propiedades | |
---|---|
client_id |
Obligatorio. El ID de cliente para tu aplicación. Puedes encontrar este valor en la Consola de API. |
callback |
Obligatorio. La función de JavaScript que maneja la respuesta del token que se muestra. |
scope |
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. Estos valores informan la pantalla de consentimiento que Google le muestra al usuario. |
include_granted_scopes |
Opcional, el valor predeterminado es true . Permite que las aplicaciones usen la autorización incremental para solicitar acceso a permisos adicionales en contexto. Si configuras el valor de este parámetro como false y se otorga la solicitud de autorización, el nuevo token de acceso solo cubrirá cualquier permiso al que se solicite scope en este TokenClientConfig .
|
prompt |
La configuración predeterminada es 'select_account'. Una lista de mensajes delimitados por espacios que distinguen entre mayúsculas y minúsculas para presentar al usuario. Los valores posibles son los siguientes:
|
enable_serial_consent |
Opcional, el valor predeterminado es true . Si estableces la política en false , se inhabilitarán los permisos detallados de la Cuenta de Google para los ID de cliente de OAuth que se hayan creado antes de 2019. No tiene ningún efecto en los ID de cliente de OAuth más recientes, ya que siempre están habilitados los permisos más detallados.
|
hint |
Opcional. Si tu aplicación sabe qué usuario debe autorizar la solicitud, puede usar esta propiedad para proporcionarle una sugerencia a Google. La dirección de correo electrónico del usuario de destino.
Para obtener más información, consulta el campo login_hint en la documentación de OpenID Connect.
|
hosted_domain |
Opcional. Si tu aplicación conoce el dominio de Workspace al que pertenece el usuario, utiliza esta opción para proporcionar una sugerencia a Google.
Para obtener más información, consulta el campo hd en la documentación de OpenID Connect.
|
state |
Opcional. No se recomienda. Especifica cualquier valor de string que use tu aplicación para mantener el estado entre tu solicitud de autorización y la respuesta del servidor de autorización. |
error_callback |
Opcional. La función de JavaScript que maneja algunos errores que no son de OAuth, como la ventana emergente, no se abre o se cierra antes de que se muestre una respuesta de OAuth.
El campo “type” (tipo) del parámetro de entrada proporciona el motivo detallado.
|
Tipo de datos: TokenClient
La clase tiene un solo método público requestAccessToken
, que inicia el flujo de UX del token de OAuth 2.0.
interface TokenClient {
requestAccessToken(overrideConfig?: OverridableTokenClientConfig): void;
}
Argumentos | ||
---|---|---|
overrideConfig |
OverridableTokenClientConfig. | Opcional. Las configuraciones que se anularán en este método. |
Tipo de datos: OverridableTokenClientConfig
En la siguiente tabla, se enumeran las propiedades del tipo de datos OverridableTokenClientConfig
.
Propiedades | |
---|---|
scope |
Opcional. Una lista delimitada por espacios de los alcances que identifican los recursos a los que tu aplicación podría acceder en nombre del usuario. Estos valores informan la pantalla de consentimiento que Google le muestra al usuario. |
include_granted_scopes |
Opcional, el valor predeterminado es true . Permite que las aplicaciones usen la autorización incremental para solicitar acceso a permisos adicionales en contexto. Si configuras el valor de este parámetro como false y se otorga la solicitud de autorización, el nuevo token de acceso solo cubrirá cualquier permiso al que se solicite scope en este OverridableTokenClientConfig .
|
prompt |
Opcional. Una lista de solicitudes delimitadas por espacios y con mayúsculas de minúsculas para presentar al usuario. |
enable_serial_consent |
Opcional, el valor predeterminado es true . Si estableces la política en false , se inhabilitarán los permisos detallados de la Cuenta de Google para los ID de cliente de OAuth que se hayan creado antes de 2019. No tiene ningún efecto en los ID de cliente de OAuth más recientes, ya que siempre están habilitados los permisos más detallados.
|
hint |
Opcional. Si tu aplicación sabe qué usuario debe autorizar la solicitud, puede usar esta propiedad para proporcionarle una sugerencia a Google. La dirección de correo electrónico del usuario de destino.
Para obtener más información, consulta el campo login_hint en la documentación de OpenID Connect.
|
state |
Opcional. No se recomienda. Especifica cualquier valor de string que use tu aplicación para mantener el estado entre tu solicitud de autorización y la respuesta del servidor de autorización. |
Tipo de datos: TokenResponse
Se pasará un objeto TokenResponse
de JavaScript al método de devolución de llamada en la UX emergente.
En la siguiente tabla, se enumeran las propiedades del tipo de datos TokenResponse
.
Propiedades | |
---|---|
access_token |
El token de acceso de una respuesta de token exitosa. |
expires_in |
El ciclo de vida en segundos del token de acceso |
hd |
El dominio alojado al que pertenece el usuario con sesión activa. |
prompt |
El valor de la solicitud que se utilizó de la posible lista de valores especificados por TokenClientConfig o OverridableTokenClientConfig. |
token_type |
El tipo de token emitido. |
scope |
Una lista delimitada por espacios de los permisos que aprueba el usuario. |
state |
El valor de string que usa tu aplicación para mantener el estado entre tu solicitud de autorización y la respuesta. |
error |
Un solo código de error ASCII. |
error_description |
Texto ASCII en lenguaje natural que proporciona información adicional y se usa para ayudar al desarrollador del cliente a comprender el error que se produjo. |
error_uri |
Un URI que identifica una página web legible con información sobre el error, que se usa para proporcionar información adicional sobre el error al desarrollador del cliente. |
Método: google.accounts.oauth2.hasGrantedAllScopes
Verifica si el usuario otorgó todos los alcances especificados.
google.accounts.oauth2.hasGrantedAllScopes(
tokenResponse: TokenResponse,
firstScope: string, ...restScopes: string[]
): boolean;
Argumentos | ||
---|---|---|
tokenResponse |
TokenResponse
|
Obligatorio. Un objeto TokenResponse .
|
firstScope |
string | Obligatorio. El alcance que se debe verificar. |
restScopes |
string[] | Opcional. Otros alcances para verificar. |
Muestra | |
---|---|
boolean | Verdadero si se otorgan todos los alcances. |
Método: google.accounts.oauth2.hasGrantedAnyScope
Comprueba si el usuario otorgó alguno o más alcances especificados.
google.accounts.oauth2.hasGrantedAnyScope(
tokenResponse: TokenResponse,
firstScope: string, ...restScopes: string[]
): boolean;
Argumentos | ||
---|---|---|
tokenResponse |
TokenResponse
|
Obligatorio. Un objeto TokenResponse .
|
firstScope |
string | Obligatorio. El alcance que se debe verificar. |
restScopes |
string[] | Opcional. Otros alcances para verificar. |
Muestra | |
---|---|
boolean | Verdadero si se otorga alguno de los alcances. |
Método: google.accounts.oauth2.revoke
El método revoke
revoca todos los alcances que el usuario le otorgó a la app. Se necesita un token de acceso válido para revocar el permiso.
google.accounts.oauth2.revoke(accessToken: string, done: () => void): void;
Argumentos | ||
---|---|---|
accessToken |
string | Obligatorio. Un token de acceso válido. |
done |
función | Opcional. Función de devolución de llamada una vez que se haya completado la acción de revocación. |