Biblioteca JavaScript de Google 3P Authorization para sitios web: Referencia de la API

Esta referencia describe la API de la biblioteca de JavaScript de autorización de terceros de Google, 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 el 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 de tu aplicación. Puedes encontrar este valor en la Consola de APIs.
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 muestra al usuario.
include_granted_scopes Opcional; el valor predeterminado es true. Permite que las aplicaciones usen funciones autorización para solicitar acceso a permisos adicionales en contexto. Si estableces el valor de este parámetro en false y se otorga la solicitud de autorización, luego El nuevo token de acceso solo cubrirá los permisos para los que scope solicitó en esta CodeClientConfig.
redirect_uri Obligatorio para la UX de redireccionamiento. Determina a dónde redirecciona el servidor de la API una vez que el usuario completa el flujo de autorización. El valor debe coincidir exactamente con uno de los URI de redireccionamiento autorizados para el cliente OAuth 2.0, que configuraste en la Consola de APIs, y debe cumplir con nuestras reglas de validación de URI de redireccionamiento. La UX de la ventana emergente ignorará la propiedad.
callback Obligatorio para la UX en ventanas emergentes. La función de JavaScript que controla 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 cadena que tu aplicación use para mantener el estado entre tu solicitud de autorización y la respuesta del servidor de autorización.
enable_granular_consent Opcional; el valor predeterminado es true. Si la estableces como false, permisos más detallados de la Cuenta de Google se inhabilitaría para los IDs de cliente de OAuth creados antes de 2019. Si se configuran enable_granular_consent y enable_serial_consent, solo enable_granular_consent de esta función se aplicaría y se ignoraría el valor de enable_serial_consent.

No hay efecto en los IDs de cliente de OAuth más recientes, ya que siempre se habilitan permisos más detallados para ellos.
enable_serial_consent Este campo es obsoleto; en su lugar, debes usar enable_granular_consent. Esta tiene el mismo efecto que enable_granular_consent. Aplicaciones existentes que usan enable_serial_consent pueden seguir haciéndolo, pero se recomienda que actualices el código para usar enable_granular_consent en la próxima actualización de tu aplicación.
login_hint Opcional. Si la aplicación sabe qué usuario debe autorizar la solicitud, puede usar esta propiedad para proporcionarle a Google una sugerencia de acceso. Si se realiza correctamente, se omitirá la selección de cuenta. El valor del campo de dirección de correo electrónico o token de ID sub del usuario de destino. Para obtener más información, consulta el campo login_hint en la documentación de OpenID Connect.
hd Opcional. Si tu aplicación conoce el dominio de Workspace al que pertenece el usuario, usa esto para proporcionar una sugerencia a Google. Si se realiza de forma correcta, las cuentas de usuario se limitan o preseleccionan para el dominio proporcionado. 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; la configuración predeterminada es 'false'. Valor booleano para solicitar al usuario que seleccione una cuenta.
error_callback Opcional. La función de JavaScript que controla algunos errores que no son de OAuth, como no se pudo abrir la ventana emergente; o se cierra antes de que se genere una respuesta de OAuth que se devuelven.

El campo `type` del parámetro de entrada proporciona el motivo detallado.
  • popup_failed_to_open No se pudo abrir la ventana emergente.
  • popup_closed. La ventana emergente se cierra antes de un OAuth. respuesta.
  • unknown Marcador de posición para otros errores.

Tipo de datos: CodeClient

La clase tiene un solo método público requestCode, que inicia el OAuth 2.0. Flujo de UX de código.

interface CodeClient {
  requestCode(): void;
}

Tipo de datos: CodeResponse

Se pasará un objeto CodeResponse de JavaScript a tu método callback en la UX de la ventana emergente. En la UX de redireccionamiento, CodeResponse se pasará como URL. parámetros.

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 correcta.
scope Una lista delimitada por espacios de los permisos que aprobó el usuario.
state El valor de cadena 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, que se usa para ayudar al desarrollador cliente a comprender el error que se produjo.
error_uri Un URI que identifica una página web legible por humanos con información sobre el error, que se usa para proporcionar información adicional sobre el error al desarrollador cliente.

Método: google.accounts.oauth2.initTokenClient

El método initTokenClient inicializa y muestra un cliente de token con el 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 de tu aplicación. Puedes encontrar este valor en la Consola de APIs.
callback Obligatorio. La función de JavaScript que controla la respuesta del token que se devuelve.
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 muestra al usuario.
include_granted_scopes Opcional; el valor predeterminado es true. Permite que las aplicaciones usen funciones autorización para solicitar acceso a permisos adicionales en contexto. Si estableces el valor de este parámetro en false y se otorga la solicitud de autorización, luego El nuevo token de acceso solo cubrirá los permisos para los que scope solicitó en esta TokenClientConfig.
prompt Opcional; la configuración predeterminada es 'select_account'. Un conjunto de datos delimitado por espacios Es una lista de mensajes que distingue mayúsculas de minúsculas para presentar al usuario. Estos son los posibles valores:
  • string vacía Se le solicitará al usuario solo la primera vez que tu app solicite acceso. No se puede especificar con otros valores.
  • 'none' No muestres ninguna pantalla de autenticación ni de consentimiento. No se debe especificar con otros valores.
  • 'consent' Solicita el consentimiento del usuario.
  • 'select_account' Solicítale al usuario que seleccione una cuenta.
enable_granular_consent Opcional; el valor predeterminado es true. Si la estableces como false, permisos más detallados de la Cuenta de Google se inhabilitaría para los IDs de cliente de OAuth creados antes de 2019. Si se configuran enable_granular_consent y enable_serial_consent, solo enable_granular_consent de esta función se aplicaría y se ignoraría el valor de enable_serial_consent.

No hay efecto en los IDs de cliente de OAuth más recientes, ya que siempre se habilitan permisos más detallados para ellos.
enable_serial_consent Este campo es obsoleto; en su lugar, debes usar enable_granular_consent. Esta tiene el mismo efecto que enable_granular_consent. Aplicaciones existentes que usan enable_serial_consent pueden seguir haciéndolo, pero se recomienda que actualices el código para usar enable_granular_consent en la próxima actualización de tu aplicación.
login_hint Opcional. Si la aplicación sabe qué usuario debe autorizar la solicitud, puede usar esta propiedad para proporcionarle a Google una sugerencia de acceso. Si se realiza correctamente, se omitirá la selección de cuenta. El valor del campo de dirección de correo electrónico o token de ID sub del usuario de destino. Para obtener más información, consulta el campo login_hint en la documentación de OpenID Connect.
hd Opcional. Si tu aplicación conoce el dominio de Workspace al que pertenece el usuario, usa esto para proporcionar una sugerencia a Google. Si se realiza de forma correcta, las cuentas de usuario se limitan o preseleccionan para el dominio proporcionado. 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 cadena que tu aplicación use 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 controla algunos errores que no son de OAuth, como no se pudo abrir la ventana emergente; o se cierra antes de que se genere una respuesta de OAuth que se devuelven.

El campo `type` del parámetro de entrada proporciona el motivo detallado.
  • popup_failed_to_open No se pudo abrir la ventana emergente.
  • popup_closed. La ventana emergente se cierra antes de un OAuth. respuesta.
  • unknown Marcador de posición para otros errores.

Tipo de datos: TokenClient

La clase solo tiene un método público requestAccessToken, que inicia la Flujo de UX de tokens 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 de OverridableTokenClientConfig. el tipo de datos.

Propiedades
scope Opcional. Una lista delimitada por espacios de permisos que identifican los recursos a las que tu aplicación podría acceder en nombre del usuario. Estos valores informar la pantalla de consentimiento que Google mostrará al usuario
include_granted_scopes Opcional; el valor predeterminado es true. Permite que las aplicaciones usen funciones autorización para solicitar acceso a permisos adicionales en contexto. Si estableces el valor de este parámetro en false y se otorga la solicitud de autorización, luego El nuevo token de acceso solo cubrirá los permisos para los que scope solicitó en esta OverridableTokenClientConfig.
prompt Opcional. Una lista de mensajes delimitados por espacios y que distinguen mayúsculas de minúsculas para presentar al usuario.
enable_granular_consent Opcional; el valor predeterminado es true. Si la estableces como false, permisos más detallados de la Cuenta de Google se inhabilitaría para los IDs de cliente de OAuth creados antes de 2019.Si se configuran enable_granular_consent y enable_serial_consent, solo enable_granular_consent de esta función se aplicaría y se ignoraría el valor de enable_serial_consent.

No hay efecto en los IDs de cliente de OAuth más recientes, ya que siempre se habilitan permisos más detallados para ellos.
enable_serial_consent Este campo es obsoleto; en su lugar, debes usar enable_granular_consent. Esta tiene el mismo efecto que enable_granular_consent. Aplicaciones existentes que usan enable_serial_consent pueden seguir haciéndolo, pero se recomienda que actualices el código para usar enable_granular_consent en la próxima actualización de tu aplicación.
login_hint Opcional. Si la aplicación sabe qué usuario debe autorizar la solicitud, puede usar esta propiedad para proporcionarle a Google una sugerencia de acceso. Si se realiza correctamente, se omitirá la selección de cuenta. El valor del campo de dirección de correo electrónico o token de ID sub 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 cadena que tu aplicación use 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 a tu método de devolución de llamada en la UX de la ventana 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 correcta.
expires_in La vida útil en segundos del token de acceso.
hd Es el dominio alojado al que pertenece el usuario que accedió.
prompt El valor de la instrucción que se usó de la lista posible de valores especificados por TokenClientConfig o OverridableTokenClientConfig.
token_type El tipo de token emitido.
scope Una lista delimitada por espacios de los permisos que aprobó el usuario.
state El valor de cadena 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 que se usa para ayudar al desarrollador cliente a comprender el error que se produjo.
error_uri Un URI que identifica una página web legible por humanos con información sobre el error, que se usa para proporcionar información adicional sobre el error al desarrollador cliente.

Método: google.accounts.oauth2.hasGrantedAllScopes

Verifica si el usuario otorgó todos los permisos 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 verificará.
restScopes string[] Opcional. Otros permisos para comprobar.
Muestra
boolean Es verdadero si se otorgaron todos los alcances.

Método: google.accounts.oauth2.hasGrantedAnyScope

Verifica si el usuario otorgó alguno de los permisos 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 verificará.
restScopes string[] Opcional. Otros permisos para comprobar.
Muestra
boolean Es verdadero si se otorga alguno de los permisos.

Método: google.accounts.oauth2.revoke

El método revoke revoca todos los alcances que el usuario otorgó a la app. Se requiere 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.
callback función Opcional. RevocationResponse.

Tipo de datos: RevocationResponse

Se pasará un objeto RevocationResponse de JavaScript a tu método de devolución de llamada.

En la siguiente tabla, se enumeran las propiedades del tipo de datos RevocationResponse.

Propiedades
successful Booleano. true si se realiza de forma correcta y false si se produce un error.
error String. Indefinido en caso de éxito. Un solo código de error ASCII. Esto incluye, entre otras, las APIs de OAuth estándar Códigos de error de 2.0 Errores comunes del método revoke:
  • invalid_token: El token ya venció o se revocó antes de que se llame al método revoke. En la mayoría de los casos, se puede considerar el subsidio asociado se revoca accessToken.
  • invalid_request: El token no se puede revocar. Debes asegurarte accessToken es una credencial válida de Google OAuth 2.0.
error_description String. Indefinido en caso de éxito. El texto ASCII legible proporciona información adicional sobre error. Los desarrolladores pueden usar esta información para comprender el error que se produjo. La cadena error_description solo está en inglés. Para los errores comunes enumerados en error, el error_description correspondiente:
  • invalid_token: el token caducó o se revocó.
  • invalid_request: El token no se puede revocar.