¿Cuál es el flujo adecuado para la autenticación?

2

Tengo la tarea de migrar un grupo de aplicaciones de .Net WebForms de un esquema de inicio de sesión de usuario / contraseña personalizado actual a una autenticación y autorización basadas en conexión oauth2 / openid. Esta aplicación específica es muy madura y amplia. Como resultado, el objetivo es cambiar lo menos posible de la infraestructura subyacente.

Actualmente, los usuarios inician sesión con una combinación de nombre de usuario y contraseña. Muchas personas tienen más de una combinación de nombre de usuario / contraseña. Queremos cambiar esto a una combinación de correo electrónico / contraseña en su lugar. Tengo un IdP configurado para realizar la autenticación de esta manera que puede proporcionar un token de identificación. Creo que esta parte es relativamente sencilla.

La arruga proviene de las múltiples cuentas que cada usuario tiene actualmente. Debido a la naturaleza de las aplicaciones, debo admitir las múltiples cuentas, vinculadas entre sí a través de la dirección de correo electrónico.

¿Tendría sentido tener un segundo IdP que pueda proporcionar la lista de cuentas vinculadas a la dirección de correo electrónico que luego puede proporcionar un token basado en la cuenta elegida? Si es así, ¿cuál es la mejor manera de proporcionar la dirección de correo electrónico a este segundo IdP?

Gracias por cualquier información.

    
pregunta MichaelDotKnox 25.10.2018 - 19:53
fuente

1 respuesta

1

La forma en que describió su problema indica que auth no es lo que está buscando. Oauth se usa para permitir que los usuarios usen sus credenciales de una entidad diferente (proveedor de identidad) para iniciar sesión en su aplicación y acceder a los datos de usuario desde el IDP. El idp y la aplicación que usa el idp son dos entidades diferentes (por ejemplo, dos compañías diferentes). Así, por ejemplo: en honeypot.io utilizo mi nombre de usuario y contraseña de github. Honeypot me envía al idp github. Me conecto y concedo el acceso de honeypot a mi información de usuario (nombre, correo electrónico, etc.). El github idp me reenvía a honeypot nuevamente con un token de acceso y honeypot.io obtiene mis datos de usuario junto con la garantía de que tengo esa cuenta. Honeypot creará una cuenta para mí con mis datos de github.

Si solo hay una parte involucrada (su caso), no necesita un idp y no hay una verdad. Dependiendo de los casos de uso concretos, es posible que desee permitir que las cuentas usen varios nombres de usuario, lo que sería una lista / matriz simple.

    
respondido por el Malcolm X 25.10.2018 - 20:23
fuente

Lea otras preguntas en las etiquetas