language-agnostic oauth-2.0 oauth-provider

language agnostic - Usar un token de acceso de Facebook como las credenciales del propietario del recurso en OAuth2.0



language-agnostic oauth-2.0 (1)

El cliente podría intercambiar el token de acceso de Facebook del usuario por un token de acceso para el servidor de autorización.

¿Significa que tiene 2 servidores de autorización (uno de Facebook y otro, el privado) en mente? En caso afirmativo, está abusando de OAuth y, en su lugar, debe usar el esquema de concesión de código de autorización.

En la Figura 5 de la especificación OAuth 2.0 (v25) puede encontrar la definición del flujo de trabajo:

  1. El propietario del recurso proporciona al cliente su nombre de usuario y contraseña.

  2. El cliente solicita un token de acceso desde el extremo del token del servidor de autorización incluyendo las credenciales recibidas del propietario del recurso. Al realizar la solicitud, el cliente se autentica con el servidor de autorización.

  3. El servidor de autorización autentica al cliente y valida las credenciales del propietario del recurso, y si es válido emite un token de acceso.

Esta es una cita de Facebook http://developers.facebook.com/docs/guides/web/ :

Para registrar al usuario en su sitio, deben suceder tres cosas. Primero, Facebook necesita autenticar al usuario. Esto asegura que el usuario es quien dice ser. En segundo lugar, Facebook necesita autenticar su sitio web. Esto asegura que el usuario está dando su información a su sitio y no a otra persona. Por último, el usuario debe autorizar explícitamente a su sitio web para acceder a su información. Esto garantiza que el usuario sepa exactamente qué datos están divulgando a su sitio.

En ambos lugares, tiene un único servidor de autorización, en su caso, el Facebook.

La especificación OAuth 2.0 define el Tipo de concesión de credenciales de contraseña del propietario del recurso , que permite que las credenciales de contraseña del propietario del recurso (es decir, nombre de usuario y contraseña) se utilicen directamente como una concesión de autorización para obtener un token de acceso.

Quiero permitir que un usuario "inicie sesión a través de Facebook" en el cliente en lugar de proporcionar las credenciales directamente. El cliente podría intercambiar el token de acceso de Facebook del usuario por un token de acceso para el servidor de autorización. ¿Este esquema encaja en el marco de OAuth2?