Quando os desenvolvedores criam software, ele geralmente inclui módulos que são executados em um servidor da Web, outros módulos que são executados no navegador e outros que são executados como apps para dispositivos móveis Android ou iOS. Tanto os desenvolvedores quanto as pessoas que usam o software geralmente pensam em todos esses módulos como parte de um único app.
A implementação do OAuth 2.0 do Google é compatível com essa visão de mundo. Para usar qualquer um dos serviços baseados em OAuth2.0, configure o software no Google API Console. A unidade de organização no API Console é um "projeto", que pode corresponder a um app de vários componentes. Para cada projeto, é possível fornecer informações de marca e especificar quais APIs o app vai acessar. Cada componente de um app de vários componentes é identificado por um ID do cliente, uma string exclusiva gerada no API Console.
Metas de autorização entre clientes
Quando um app usa o OAuth 2.0 para autorização, ele age em nome de um usuário para solicitar um token de acesso do OAuth 2.0 para acessar um recurso, que o app identifica por uma ou mais strings de escopo. Normalmente, o usuário precisa aprovar o acesso.
Quando um usuário concede acesso ao seu app para um escopo específico, ele está olhando para a tela de consentimento do usuário, que inclui o branding do produto no nível do projeto configurado no Google API Console. Portanto, o Google considera que, quando um usuário concede acesso a um escopo específico para qualquer ID do cliente em um projeto, a concessão indica a confiança do usuário em todo o aplicativo para esse escopo.
O efeito é que o usuário não precisa aprovar o acesso a nenhum recurso mais de uma vez para o mesmo aplicativo lógico, sempre que os componentes do aplicativo puderem ser autenticados de forma confiável pela infraestrutura de autorização do Google, que hoje inclui apps da Web, apps Android, apps Chrome, apps iOS, apps para computador e dispositivos de entrada limitada.
Tokens de acesso entre clientes
O software pode receber tokens de acesso do OAuth 2.0 de várias maneiras, dependendo da plataforma em que o código está sendo executado. Para mais detalhes, consulte Como usar o OAuth 2.0 para acessar as APIs do Google. Normalmente, a aprovação do usuário é necessária ao conceder um token de acesso.
Felizmente, a infraestrutura de autorização do Google pode usar informações sobre aprovações de usuários para um ID do cliente em um determinado projeto ao avaliar se deve autorizar outros no mesmo projeto.
O efeito é que, se um app Android solicitar um token de acesso para um escopo específico e o usuário solicitante já tiver concedido aprovação a um aplicativo da Web no mesmo projeto para esse mesmo escopo, o usuário não precisará aprovar novamente. Isso funciona nos dois sentidos: se o acesso a um escopo foi concedido no seu app Android, ele não será solicitado novamente de outro cliente no mesmo projeto, como um aplicativo da Web.