Login de várias contas do Google no App Engine

A integração do App Engine com a funcionalidade das Contas do Google geralmente funciona muito bem. No entanto, ele não tem suporte direto para o recurso de várias contas do Google. Portanto, se um usuário estiver conectado a várias contas do Google em seu navegador, não haverá uma maneira fácil de dar a ele a opção de escolher qual de suas contas será usada com seu aplicativo App Engine.

Isso é especialmente problemático se você precisar que os usuários façam login com uma conta específica, por exemplo, se você tiver uma lista de permissões de usuários administradores ou se estiver usando URLs de verificação com tokens vinculados a contas específicas.

Como o App Engine não oferece suporte direto para o recurso de login múltiplo das Contas do Google, pode ser um pouco complicado fornecer ao usuário uma maneira de escolher com qual conta deseja fazer login. Mas é possível! Continue lendo…

O comportamento

Portanto, para que o usuário troque de conta, precisamos usar users.create_login_url ou users.create_logout_url , mas qual deles depende do usuário ou não está usando o recurso de várias contas, que é algo que não sabemos até tentarmos.

O plano de ataque

Exemplo de código completo

Publicado originalmente em p.ota.to em 9 de setembro de 2016