No Google App Engine, posso relacionar um token OAuth 2 do Google e um token SACSID que obtive usando o AccountManager do Android?

Estou escrevendo um aplicativo do Google App Engine junto com um cliente CLI, um cliente Android e um cliente Javascript. O objetivo deste aplicativo é permitir controlar um telefone Android no qual o cliente Android está instalado, usando a CLI ou o cliente Javascrip

autenticação desempenha um papel crucial, pois um bug pode permitir que um usuário mal-intencionado controle os telefones de outras pessoa

O cliente Android está escrito e funciona. Autentica o usuário usandoeste métod. Basicamente, isso me fornece o chamado token SACSID que posso armazenar em um cookie. Quando esse cookie é definido, o Google App Engine reconhece meu usuário. O aplicativo do servidor pode chamar o UserService para obter um Usuário no qual chamar getUserId (). getUserId () retorna uma string opaca que identifica meu usuário. Por enquanto, tudo bem

gora estou escrevendo os clientes JS e CLI. Como o cliente CLI não possui uma maneira confiável de exibir um CAPTCHA ou abrir um navegador, suponho que ele precise usar oDevice API ("Login do cliente" não é uma opção). Esta API requer o uso do OAuth 2 para autenticação. Além disso, desejo que o cliente JS acesse os contatos do usuário, o que também parece indicar que o OAuth 2 seria adequad

Se meu usuário se autenticar usando o OAuth 2, poderei transformar esse token do Google OAuth 2 na mesma String opaca que recebo quando o cliente Android se conecta? Caso contrário, posso modificar meu aplicativo Android para que ele use OAuth em vez de um token Sacsid?

ara ser mais específico, vejo três coisas que resolveriam o meu problem

Uma maneira de obter um token OAuth 2 do gerente de contasma maneira de trocar o token OAuth 2 por um token SACS Uma maneira de obter o mesmo UserID opaco, tanto com o token SACSID quanto com o OAuth2, mas apenas se eu puder ter o sistema de autenticação no mesmo aplicativ

Algo que parece semelhante à terceira solução possível é obter o endereço de email do usuário do OAuth e do token SACSID e usá-lo como o ID do usuário. No entanto, isso me parece um pouco desajeitado:

Toda vez que recebo uma solicitação do OAuth 2, preciso chamar as APIs do Google para recuperar o endereço de e-mail do usuário (ou criar meu próprio sistema de tokens, que parece inseguro e apresenta muitas outras dificuldades O endereço de email de um determinado usuário pode mudar, fazendo-me perder a associação entre o usuário e os dados anteriore

questionAnswers(1)

yourAnswerToTheQuestion