Nesta referência, descrevemos a API JavaScript Library do Google 3P, que você pode usar para carregar códigos de autorização ou tokens de acesso do Google.
Método: google.accounts.oauth2.initCodeClient
O método initCodeClient
inicializa e retorna um cliente de código com as configurações no parâmetro.
google.accounts.oauth2.initCodeClient(config: CodeClientConfig)
Tipo de dados: CodeClientConfig
A tabela a seguir lista as propriedades do tipo de dados CodeClientConfig
.
Propriedades | |
---|---|
client_id
|
Obrigatório. O ID do cliente para seu aplicativo. É possível encontrar esse valor no Console de APIs. |
scope
|
Obrigatório. A lista de escopos delimitada por espaços que identificam os recursos que seu aplicativo pode acessar em nome do usuário. Esses valores informam a tela de consentimento que o Google mostra ao usuário. |
include_granted_scopes |
Opcional. O padrão é true . Permite que os aplicativos usem a autorização
incremental para solicitar acesso a escopos adicionais no contexto. Se você definir o valor desse parâmetro como false e a solicitação de autorização for concedida, o novo token de acesso só vai cobrir os escopos aos quais o scope solicitou neste CodeClientConfig .
|
redirect_uri
|
Obrigatório para UX de redirecionamento. Determina para onde o servidor de API redireciona o usuário após o usuário concluir o fluxo de autorização. O valor deve corresponder exatamente a um dos URIs de redirecionamento autorizados para o cliente OAuth 2.0, que você configurou no Console de APIs, e deve estar de acordo com nossas regras de validação do URI de redirecionamento. A propriedade será ignorada pela UX do pop-up. |
callback |
Obrigatório para UX pop-up. A função JavaScript que lida com a resposta do código retornado. A propriedade será ignorada pela UX de redirecionamento. |
state |
Opcional. Recomendado para UX de redirecionamento. Especifica qualquer valor de string que o aplicativo usa para manter o estado entre a solicitação de autorização e a resposta do servidor de autorização. |
enable_granular_consent |
Opcional. O padrão é true . Se definido como false , permissões mais granulares da Conta do Google
serão desativadas para IDs de cliente OAuth criados antes de 2019. Se enable_granular_consent e enable_serial_consent estiverem definidos, somente o valor enable_granular_consent terá efeito, e o valor enable_serial_consent será ignorado.Nenhum efeito para IDs do cliente OAuth mais recentes, já que permissões mais granulares estão sempre ativadas para eles. |
enable_serial_consent |
Obsoleto. Use enable_granular_consent Isso
tem o mesmo efeito que enable_granular_consent . Aplicativos já existentes que usam enable_serial_consent podem continuar a fazer isso, mas é recomendável atualizar seu código para usar enable_granular_consent na próxima atualização do aplicativo.
|
login_hint |
Opcional. Se o aplicativo souber qual usuário deve autorizar a solicitação, ele poderá usar essa propriedade para fornecer uma dica de login ao Google. Quando bem-sucedida, a seleção de conta é ignorada. O valor do campo sub do endereço de e-mail ou do token de ID do usuário de destino.
Para mais informações, consulte o campo login_hint na documentação do OpenID Connect.
|
hd |
Opcional. Caso seu aplicativo saiba o domínio do Workspace de que o usuário pertence, use isso para dar uma dica ao Google. Quando bem-sucedido, as contas de usuário são limitadas ou pré-selecionadas para o domínio fornecido.
Para mais informações, consulte o campo hd na documentação do OpenID Connect.
|
ux_mode |
Opcional. O modo UX a ser usado no fluxo de autorização. Por padrão, o fluxo de consentimento é aberto em um pop-up. Os valores válidos são: popup e redirect .
|
select_account |
Opcional, o padrão é false. Valor booleano para solicitar que o usuário selecione uma conta. |
error_callback |
Opcional. A função JavaScript que processa alguns erros não OAuth, como falha ao abrir a janela pop-up ou ser fechada antes que uma resposta OAuth seja retornada.
O campo "type" do parâmetro de entrada informa o motivo detalhado.
|
Tipo de dados: CodeClient
A classe tem apenas um método público requestCode, que inicia o fluxo de UX do código do OAuth 2.0.
interface CodeClient {
requestCode(): void;
}
Tipo de dados: CodeResponse
Um objeto JavaScript CodeResponse
vai ser transmitido ao método callback
na
UX pop-up. Na UX de redirecionamento, o CodeResponse
vai ser transmitido como parâmetros
de URL.
A tabela a seguir lista as propriedades do tipo de dados CodeResponse
.
Propriedades | |
---|---|
code |
O código de autorização de uma resposta de token bem-sucedida. |
scope |
Uma lista de escopos delimitados por espaço, aprovados pelo usuário. |
state |
O valor da string que seu aplicativo usa para manter o estado entre a solicitação de autorização e a resposta. |
error |
Um único código de erro ASCII. |
error_description |
Texto ASCII legível que fornece informações adicionais, usadas para ajudar o desenvolvedor do cliente a entender o erro que ocorreu. |
error_uri |
Um URI que identifica uma página da Web legível com informações sobre o erro e é usado para fornecer ao desenvolvedor do cliente mais informações. |
Método: google.accounts.oauth2.initTokenClient
O método initTokenClient
inicializa e retorna um cliente de token com as configurações no parâmetro.
google.accounts.oauth2.initTokenClient(config: TokenClientConfig)
Tipo de dados: TokenClientConfig
A tabela a seguir lista as propriedades do tipo de dados TokenClientConfig
.
Propriedades | |
---|---|
client_id |
Obrigatório. O ID do cliente para seu aplicativo. É possível encontrar esse valor no Console de APIs. |
callback |
Obrigatório. A função JavaScript que lida com a resposta do token retornado. |
scope |
Obrigatório. A lista de escopos delimitada por espaços que identificam os recursos que seu aplicativo pode acessar em nome do usuário. Esses valores informam a tela de consentimento que o Google mostra ao usuário. |
include_granted_scopes |
Opcional. O padrão é true . Permite que os aplicativos usem a autorização
incremental para solicitar acesso a escopos adicionais no contexto. Se você definir o valor desse parâmetro como false e a solicitação de autorização for concedida, o novo token de acesso só vai cobrir os escopos aos quais o scope solicitou neste TokenClientConfig .
|
prompt |
Opcional, o padrão é 'select_account'. Uma lista de solicitações delimitada por espaço
e que diferencia maiúsculas de minúsculas para apresentar ao usuário. Os valores possíveis são:
|
enable_granular_consent |
Opcional. O padrão é true . Se definido como false , permissões mais granulares da Conta do Google
serão desativadas para IDs de cliente OAuth criados antes de 2019. Se enable_granular_consent e enable_serial_consent estiverem definidos, somente o valor enable_granular_consent terá efeito, e o valor enable_serial_consent será ignorado.Nenhum efeito para IDs do cliente OAuth mais recentes, já que permissões mais granulares estão sempre ativadas para eles. |
enable_serial_consent |
Obsoleto. Use enable_granular_consent Isso
tem o mesmo efeito que enable_granular_consent . Aplicativos já existentes que usam enable_serial_consent podem continuar a fazer isso, mas é recomendável atualizar seu código para usar enable_granular_consent na próxima atualização do aplicativo.
|
login_hint |
Opcional. Se o aplicativo souber qual usuário deve autorizar a solicitação, ele poderá usar essa propriedade para fornecer uma dica de login ao Google. Quando bem-sucedida, a seleção de conta é ignorada. O valor do campo sub do endereço de e-mail ou do token de ID do usuário de destino.
Para mais informações, consulte o campo login_hint na documentação do OpenID Connect.
|
hd |
Opcional. Caso seu aplicativo saiba o domínio do Workspace de que o usuário pertence, use isso para dar uma dica ao Google. Quando bem-sucedido, as contas de usuário são limitadas ou pré-selecionadas para o domínio fornecido.
Para mais informações, consulte o campo hd na documentação do OpenID Connect.
|
state |
Opcional. Não recomendado. Especifica qualquer valor de string que o aplicativo usa para manter o estado entre a solicitação de autorização e a resposta do servidor de autorização. |
error_callback |
Opcional. A função JavaScript que processa alguns erros não OAuth, como falha ao abrir a janela pop-up ou ser fechada antes que uma resposta OAuth seja retornada.
O campo "type" do parâmetro de entrada informa o motivo detalhado.
|
Tipo de dados: TokenClient
A classe tem apenas um método público requestAccessToken
, que inicia o
fluxo de UX do token OAuth 2.0.
interface TokenClient {
requestAccessToken(overrideConfig?: OverridableTokenClientConfig): void;
}
Argumentos | ||
---|---|---|
overrideConfig |
OverridableTokenClientConfig | Opcional. As configurações a serem substituídas nesse método. |
Tipo de dados: OverridableTokenClientConfig
A tabela a seguir lista as propriedades do tipo de dados OverridableTokenClientConfig
.
Propriedades | |
---|---|
scope |
Opcional. Uma lista de escopos delimitada por espaços que identificam os recursos que seu aplicativo pode acessar em nome do usuário. Esses valores informam a tela de consentimento que o Google exibe ao usuário. |
include_granted_scopes |
Opcional. O padrão é true . Permite que os aplicativos usem a autorização
incremental para solicitar acesso a escopos adicionais no contexto. Se você definir o valor desse parâmetro como false e a solicitação de autorização for concedida, o novo token de acesso só vai cobrir os escopos aos quais o scope solicitou neste OverridableTokenClientConfig .
|
prompt |
Opcional. Uma lista de instruções delimitada por espaço e que diferencia maiúsculas de minúsculas para apresentar ao usuário. |
enable_granular_consent |
Opcional. O padrão é true . Se definido como false , permissões mais granulares da Conta do Google
serão desativadas para IDs de cliente OAuth criados antes de 2019.Se enable_granular_consent e enable_serial_consent estiverem definidos, apenas os valores enable_granular_consent
vão entrar em vigor, e o valor enable_serial_consent será ignorado.Nenhum efeito para IDs do cliente OAuth mais recentes, já que permissões mais granulares estão sempre ativadas para eles. |
enable_serial_consent |
Obsoleto. Use enable_granular_consent Isso
tem o mesmo efeito que enable_granular_consent . Aplicativos já existentes que usam enable_serial_consent podem continuar a fazer isso, mas é recomendável atualizar seu código para usar enable_granular_consent na próxima atualização do aplicativo.
|
login_hint |
Opcional. Se o aplicativo souber qual usuário deve autorizar a solicitação, ele poderá usar essa propriedade para fornecer uma dica de login ao Google. Quando bem-sucedida, a seleção de conta é ignorada. O valor do campo sub do endereço de e-mail ou do token de ID do usuário de destino.
Para mais informações, consulte o campo login_hint na documentação do OpenID Connect.
|
state |
Opcional. Não recomendado. Especifica qualquer valor de string que o aplicativo usa para manter o estado entre a solicitação de autorização e a resposta do servidor de autorização. |
Tipo de dados: TokenResponse
Um objeto JavaScript TokenResponse
vai ser transmitido ao método de callback na UX pop-up.
A tabela a seguir lista as propriedades do tipo de dados TokenResponse
.
Propriedades | |
---|---|
access_token |
O token de acesso de uma resposta de token bem-sucedida. |
expires_in |
Ciclo de vida do token de acesso em segundos. |
hd |
O domínio hospedado ao qual o usuário que fez login pertence. |
prompt |
O valor do prompt usado da lista de valores possíveis especificados por TokenClientConfig ou OverridableTokenClientConfig. |
token_type |
O tipo do token emitido. |
scope |
Uma lista de escopos delimitados por espaço, aprovados pelo usuário. |
state |
O valor da string que seu aplicativo usa para manter o estado entre a solicitação de autorização e a resposta. |
error |
Um único código de erro ASCII. |
error_description |
Texto ASCII legível que fornece informações adicionais, usadas para ajudar o desenvolvedor do cliente a entender o erro que ocorreu. |
error_uri |
Um URI que identifica uma página da Web legível com informações sobre o erro e é usado para fornecer ao desenvolvedor do cliente mais informações. |
Método: google.accounts.oauth2.hasGrantedAllScopes
Verifica se o usuário concedeu todo o escopo ou os escopos especificados.
google.accounts.oauth2.hasGrantedAllScopes(
tokenResponse: TokenResponse,
firstScope: string, ...restScopes: string[]
): boolean;
Argumentos | ||
---|---|---|
tokenResponse |
TokenResponse
|
Obrigatório. Um objeto TokenResponse .
|
firstScope |
string | Obrigatório. O escopo a ser verificado. |
restScopes |
string[] | Opcional. Outros escopos a serem verificados. |
Retorna | |
---|---|
boolean | Verdadeiro se todos os escopos forem concedidos. |
Método: google.accounts.oauth2.hasGrantedAnyScope
Verifica se o usuário concedeu algum dos escopos especificados.
google.accounts.oauth2.hasGrantedAnyScope(
tokenResponse: TokenResponse,
firstScope: string, ...restScopes: string[]
): boolean;
Argumentos | ||
---|---|---|
tokenResponse |
TokenResponse
|
Obrigatório. Um objeto TokenResponse .
|
firstScope |
string | Obrigatório. O escopo a ser verificado. |
restScopes |
string[] | Opcional. Outros escopos a serem verificados. |
Retorna | |
---|---|
boolean | Verdadeiro se qualquer um dos escopos for concedido. |
Método: google.accounts.oauth2.revoke
O método revoke
revoga todos os escopos que o usuário concedeu ao app.
Um token de acesso válido é necessário para revogar a permissão.
google.accounts.oauth2.revoke(accessToken: string, done: () => void): void;
Argumentos | ||
---|---|---|
accessToken |
string | Obrigatório. Um token de acesso válido. |
callback |
função | Opcional. RevocationResponse. |
Tipo de dados: RevocationResponse
Um objeto JavaScript RevocationResponse
vai ser transmitido ao método de callback.
A tabela a seguir lista as propriedades do tipo de dados RevocationResponse
.
Propriedades | |
---|---|
successful |
Booleano. true ativado, false em caso de falha. |
error |
String. Indefinido quanto ao sucesso. Um único código de erro ASCII. Isso inclui, mas não se limita a, códigos de erro padrão do OAuth
2.0. Erros comuns no método revoke :
|
error_description |
String. Indefinido quanto ao sucesso. O texto ASCII legível fornece mais informações sobre a propriedade error . Os desenvolvedores podem usar isso para entender melhor
o erro que ocorreu. A string error_description está disponível apenas em inglês.
Para os erros comuns listados em error no error_description correspondente:
|