Rich Twitter Digits / Google Auth con OpenIdDictServer

Nuestra aplicación requiere iniciar sesión por número de teléfono móvil o por Google. Estamos planeando Twitter Digits para la autenticación de números móviles.

El flujo de registro y autenticación, según tengo entendido, es el siguiente:

La aplicación móvil realiza una autenticación enriquecida con Twitter Digits o Google Sign In (es una mejor experiencia de usuario para el usuario hacer una autenticación enriquecida en lugar de abrir una pestaña del navegador web). Twitter Digits / Google Sign In devuelve el token de identidad.

La aplicación móvil llama a AuthServer para iniciar sesión y presenta el token de identidad.

El servidor de identidad valida el token de identidad presentado con el servicio de dígitos o el servicio de autenticación de Google.

Una vez verificado, AuthServer intentaría encontrar al usuario, si no está presente creará uno.

AuthServer devuelve el token de acceso a la aplicación móvil.

Ahora, estoy buscando opciones para implementar el paso # 3-4.

Actualmente, lo que he hecho es modificar el código de punto final del token que toma el nombre de usuario como número de teléfono o dirección de correo electrónico y contraseña enviada como token de identificación de dígitos de Google / Twitter. Ahora, dado que el servidor de autenticación necesita saber que la contraseña enviada es en realidad un token que debe verificarse con un servicio de un tercero, lo solucioné enviando el nombre del servicio "Dígitos" o "Google" en TokenHint.

Esto funciona muy bien, pero me pregunto cuál es la forma más limpia de apoyar lo que estoy tratando de lograr.

Respuestas a la pregunta(1)

Su respuesta a la pregunta