En un sistema en el que estoy trabajando, un usuario se registra a través de una cuenta de OpenID / Social Media (Twitter, Google, Facebook) y luego inicia sesión usando esa ruta. El sistema consta de un back-end (API y base de datos) y varios clientes (portales web, aplicaciones móviles nativas y clientes basados en usuario-agente / JavaScript).
Estos clientes obtendrán la Autorización para la API de back-end mencionada anteriormente para un usuario de un servidor oAuth2 especial. Por lo tanto, para compartir los datos de registro entre los clientes, será necesario almacenarlos en una base de datos central, que forma parte del servicio de fondo. Básicamente necesito rastrear a los usuarios en una base de datos.
Una vez que tenga un token de acceso de un IdP para un usuario, puedo obtener algunos detalles sobre ese usuario, por ejemplo, Nombre y dirección de correo electrónico, y almacenaría parte de eso en una base de datos local. Previamente he preguntado " lo que necesito almacenar " y no obtuve ninguna respuesta satisfactoria, pero ahora tengo una pregunta más específica: ¿Qué me dará el IdP para identificar? ¿el usuario? ¿Algún tipo de URI único para ese usuario? ¿Una dirección de correo electrónico? ¿Una cadena de identificación específica de IdP?
Necesito averiguar cómo pasar de hacer una autenticación en el IdP a obtener un código de acceso del servicio oAuth para el back-end. Una vez que sepa lo que tendré disponible desde el IdP del usuario, puedo ir al siguiente paso, que consiste en averiguar esta parte entre la autenticación del usuario y obtener un token de acceso del servidor de autorización para la API.