Acceso autenticado a WebAPI a través del token de Facebook desde la aplicación de Android

Estoy tratando de hacer que mi aplicación de Android inicie sesión en mis servicios WebAPI. Quiero compartir mis ideas para verificarlas.

Si el acceso a WebAPI se realiza a través de un sitio web, los pasos son:

1- Llame al método WebAPI para iniciar sesión

2- WebAPI redirige al cliente a Facebook

3- Inicio de sesión en Facebook y devuelve un token

4- Si uso ese token en las próximas llamadas, seré autenticado como el usuario correcto.

Y esto funciona.

Si el acceso a WebAPI se realiza a través de la aplicación de Android, ¿cómo puedo obtener el token de acceso? En realidad estoy haciendo algo como:

1- Póngase en contacto con Facebook a través del botón de inicio de sesión

2- Obtener ID de inicio de sesión en Facebook recibiendo un token

3- Intento de realizar llamadas WebAPI agregando la Autenticación: CÓDIGO de portador a mis llamadas

En ese momento estoy vagando ..

¿Cómo puede mi aplicación ahora que soy ESE usuario en particular? Si realizo algo como

GET /API/METHOD1
Authentication: Bearer CODE

¿Cómo puede saber que el CÓDIGO soy yo si la aplicación de Android nunca se lo dijo? ¿La aplicación se comunica automáticamente con Facebook para recibir una respuesta como "sí! Libero ese token, está relacionado con ..."

¿O estoy malentendido todo?

La otra forma en que puedo entenderlo es que debo usar un "enfoque híbrido" como:

1- Llame a WebAPI (como a través del navegador) 2- Obtenga el enlace de redireccionamiento a Facebook 3- Obtenga el token

Pero ... En ese punto, ¿cómo puedo volver a cambiar entre la aplicación de Facebook / sitio de Facebook a mi aplicación de Android?

Perdón por el desorden, estoy tratando de descubrir la lógica junto a este proceso de autenticación.

Respuestas a la pregunta(1)

Su respuesta a la pregunta