Acesso autenticado à WebAPI via token do Facebook no Android App
Estou tentando fazer meu aplicativo Android entrar nos meus serviços WebAPI. Quero compartilhar minhas idéias para verificá-las.
Se o acesso à WebAPI for realizado via WebSite, as etapas são:
1- Chame o método WebAPI para efetuar login
2- WebAPI redireciona o cliente para o facebook
3- Login no Facebook e retorna um token
4- Se eu usar esse token nas próximas chamadas, serei autenticado como o usuário certo.
E isso funciona.
Se o acesso à WebAPI for realizado via Android APP, como posso obter o token de acesso? Na verdade, estou fazendo algo como:
1- Entre em contato com o Facebook através do botão Login
2- Obtendo a identificação registrada no Facebook recebendo um token
3- Tentando executar chamadas WebAPI adicionando o Authentication: Bearer CODE às minhas chamadas
Nesse ponto, eu estou vagando ..
Como meu aplicativo agora que sou esse usuário em particular? Se eu realizar algo como
GET /API/METHOD1
Authentication: Bearer CODE
Como ele pode saber que o CÓDIGO sou eu se o Aplicativo Android nunca contou a ele? O aplicativo entra em contato automaticamente com o Facebook para receber uma resposta como "sim! Eu libero esse token, está relacionado a ..."
Ou estou entendendo tudo errado?
A outra maneira de descobrir isso é que devo usar uma "abordagem híbrida" como:
1- Ligue para a WebAPI (como via navegador) 2- obtenha o link de redirecionamento para o Facebook 3- obtenha o token
Mas .. Nesse ponto, como posso alternar entre o aplicativo Facebook / Site do Facebook para meu aplicativo Android novamente?
Desculpe a bagunça, estou tentando descobrir a lógica ao lado deste processo de autenticação.