c# - implementations - openid connect provider
OpenID, cómo desarrollar un proveedor. (3)
Actualmente estoy desarrollando alguna infraestructura y he implementado mi propio mecanismo de autenticación RESTful.
Ahora tengo en cuenta que tal vez no debería ir por este camino y usar un estándar de la industria, por lo que la interoperabilidad con mi proyecto podría ser trivial y más fácil de entender en términos de autenticación y autorización.
Después de revisar algunos artículos en Google y leer algunas preguntas y respuestas aquí en Stackoverflow, no encuentro cómo ser un proveedor de OpenID. No estoy hablando de usuarios auténticos que usen Google, Windows Live, Facebook Connect y, por lo tanto, quiero desarrollar un Sistema habilitado para OpenID, así que si algunos quieren registrarse en mis servicios, lo harán en mi propio dominio -.
En realidad, mi pregunta es: ¿alguien puede convertirse en un proveedor de OpenID y DotNetOpenAuth es una biblioteca para desarrollar este protocolo en su propia infraestructura?
Gracias.
En realidad, mi pregunta es: ¿alguien puede convertirse en un proveedor de OpenID y DotNetOpenAuth es una biblioteca para desarrollar este protocolo en su propia infraestructura?
- Cómo convertirse en un proveedor de OpenID
- DotNetOpenAuth tiene algunos inconvenientes, pero en general es una buena herramienta para usarlo bajo .NET
Si crees que puedes hacerlo, puedes seguir esto:
Por último, y el más desafiante, es implementar soporte personalizado para OpenID en su software y herramientas de administración de cuentas. Si bien este enfoque, por supuesto, ofrece el mayor grado de control sobre la experiencia del usuario, también es el más riesgoso y solo para los desarrolladores con experiencia en seguridad web. Comience por revisar las especificaciones y la documentación.
Pero mi pregunta siempre sería:
¿Por qué un proveedor más? Facebook , Google , MyOpenID , ... ya lo tienen, y con ellos, muchos usuarios tienen (incluso sin que lo sepan) un inicio de sesión de OpenID ...
StackExchange es un proveedor de OpenID desde hace un tiempo, pero ... hay muchos usuarios que cruzan la plataforma StackExchange. ¿Está desarrollando una comunidad tan grande, por lo que será razonable crear e implementar su propio proveedor?
El desarrollo de un proveedor de OpenID como medio de inicio de sesión único (SSO) dentro de un anillo de sitios web de organizaciones es un escenario muy válido. DotNetOpenAuth incluye un par de sitios web de muestra (un proveedor y una parte que confía) que demuestran una relación de inicio de sesión único. Se llaman OpenIdWebRingSsoProvider y OpenIdWebRingSsoRelyingParty.
No intente implementar OpenID por usted mismo más de lo que implementaría SSL por sí mismo. Obtener la seguridad y la interoperabilidad de OpenID de manera correcta lleva mucho tiempo y un profundo nivel de conocimiento del dominio. DotNetOpenAuth en particular le brinda acceso programático para hacer casi cualquier cosa que desee con OpenID, y dado que es gratis, es difícil equivocarse.
Divulgación: soy un desarrollador detrás de DotNetOpenAuth.
Veo que las respuestas tienen un par de años. Si está buscando la última solución para crear un proveedor de OpenID utilizando la pila de tecnología de Microsoft, IdentityServer es la opción de código abierto. Uno puede usar esto y construir un proveedor de Identidad de Conexión Open ID.
Documentación sobre cómo usar y construir: https://identityserver4.readthedocs.io/en/latest/
IdentityServer4 es un marco de OpenID Connect y OAuth 2.0 para ASP.NET Core 2.
Habilita las siguientes características en tus aplicaciones:
Autenticación como servicio Lógica de inicio de sesión centralizada y flujo de trabajo para todas sus aplicaciones (web, nativas, móviles, servicios). IdentityServer es una implementación oficialmente certificada de OpenID Connect.
Inicio de sesión único / Inicio de sesión Inicio de sesión único (y salida) en varios tipos de aplicaciones.
Control de acceso para API Emita tokens de acceso para API para diversos tipos de clientes, por ejemplo, servidor a servidor, aplicaciones web, SPA y aplicaciones nativas / móviles.
Federation Gateway Soporte para proveedores de identidad externos como Azure Active Directory, Google, Facebook, etc. Esto protege sus aplicaciones de los detalles de cómo conectarse a estos proveedores externos.
Enfoque en la personalización La parte más importante: muchos aspectos de IdentityServer se pueden personalizar para satisfacer sus necesidades. Dado que IdentityServer es un marco y no un producto en caja o un SaaS, puede escribir código para adaptar el sistema de la forma que tenga sentido para sus escenarios.
IdentityServer de código abierto maduro utiliza la licencia permisiva de Apache 2 que permite construir productos comerciales sobre ella. También forma parte de la Fundación .NET, que proporciona gobierno y respaldo legal.