Authentication
define a configuração de autenticação de uma API.
Exemplo de uma API direcionada para uso externo:
name: calendar.googleapis.com
authentication:
providers:
- id: google_calendar_auth
jwksUri: https://www.googleapis.com/oauth2/v1/certs
issuer: https://securetoken.google.com
rules:
- selector: "*"
requirements:
providerId: google_calendar_auth
Representação JSON | |
---|---|
{ "rules": [ { object( |
Campos | |
---|---|
rules[] |
Uma lista de regras de autenticação aplicáveis aos métodos individuais da API. OBSERVAÇÃO: todas as regras de configuração do serviço seguem a ordem "vale a última opção". |
providers[] |
Define um conjunto de provedores de autenticação que um serviço oferece. |
AuthenticationRule
Regras de autenticação para o serviço.
Por padrão, se um método tiver quaisquer requisitos de autenticação, cada solicitação precisa incluir uma credencial válida que corresponda a um dos requisitos. É um erro incluir mais de um tipo de credencial em uma única solicitação.
Se um método não tiver requisitos de autenticação, as credenciais de solicitação serão ignoradas.
Representação JSON | |
---|---|
{ "selector": string, "oauth": { object( |
Campos | |
---|---|
selector |
Seleciona os métodos aos quais esta regra se aplica. Consulte |
oauth |
Os requisitos para as credenciais do OAuth. |
allowWithoutCredential |
Se for "true", o serviço aceita chaves de API sem nenhuma outra credencial. |
requirements[] |
Requisitos para provedores de autenticação adicionais. |
OAuthRequirements
Os escopos do OAuth são uma maneira de definir dados e permissões em dados. Por exemplo, há escopos definidos para "Acesso somente leitura ao Google Agenda" e "Acesso ao Cloud Platform". Os usuários podem consentir com um escopo em um aplicativo, oferecendo permissão para acessar esses dados em nome deles.
As especificações do escopo do OAuth precisam ser bem gerais. Um usuário precisará ver e entender a descrição do que seu escopo significa.
Na maioria dos casos: use um ou mais dois escopos do OAuth para toda uma família de produtos. Caso seu produto tenha várias APIs, provavelmente você precisará compartilhar o escopo do OAuth em todas essas APIs.
Quando precisar de telas de consentimento do OAuth mais detalhadas: converse com a equipe de gerenciamento do seu produto sobre como os desenvolvedores as usarão na prática.
Observe que, mesmo que cada um dos escopos canônicos seja suficiente para que uma solicitação seja aceita e transmitida para o back-end, uma solicitação ainda pode falhar porque o back-end exige escopos ou permissões adicionais.
Representação JSON | |
---|---|
{ "canonicalScopes": string } |
Campos | |
---|---|
canonicalScopes |
A lista de escopos do OAuth documentados publicamente que permitem o acesso. Será aceito um token OAuth que contenha qualquer um desses escopos. Exemplo:
|