net mvc bearer asp asp.net asp.net-mvc openid oauth

mvc - oAuth ASP.NET proveedor de membresía



asp.net mvc oauth2 (4)

Creo que podrías estar buscando DotNetOpenAuth . No lo he usado, así que no puedo decir con certeza si incluye un proveedor de membresía, pero espero que sí lo haga. Si no, es de código abierto, por lo que debería ayudarte con lo que intentas hacer de todos modos.

¿Hay algún recurso recomendado para implementar un proveedor de membresía personalizado que use oAuth? El objetivo sería que los usuarios inicien sesión en mi aplicación ASP.NET MVC utilizando sus credenciales de oAuth existentes. Después de que el usuario se haya autenticado, me gustaría aprovechar las funciones de autorización integradas de ASP.NET.

Gracias.


Las bibliotecas han recorrido un largo camino desde que publicaste esta pregunta ... Empecé a usar esta biblioteca para Oauth: ya implementó la integración de Facebook, Twitter, PayPal y Google+:

Inicios de sesión sociales de OAuth2 - Facebook, Google, Twitter, PayPal - Biblioteca de fuente abierta ASP.NET MVC C #

Además, si la compatibilidad con versiones anteriores no es un problema para usted, Microsoft ha comenzado a brindar soporte a los proveedores populares de OAuth ... consulte este artículo:

Integración de Microsoft OAuth2 OWIN / Katana con Facebook y Google+


No estoy seguro de lo que estás buscando es OAuth.

OAuth es para delegar autorizaciones mediante el uso de tokens. Dependiendo de lo que estés haciendo, tienes dos escenarios:

  1. Su aplicación quiere usar algunos de los datos de los usuarios, alojados por un proveedor (digamos twitter o google). En ese caso, su aplicación sería un consumidor; en resumen, el usuario tendría que iniciar sesión y aceptar autorizar que su aplicación tenga acceso a sus datos sobre el proveedor, y se le proporcionaría un token de acceso que se puede usar. para obtener acceso a esos recursos protegidos.
  2. Alternativamente, tiene una aplicación, con usuarios que tienen inicios de sesión, etc. Y desea proporcionar (es decir, usted es el proveedor) acceso a cierta información restringida de sus usuarios a aplicaciones de terceros (consumidores) sin exponer las credenciales de sus usuarios a esos servicios.

Para obtener más información sobre OAuth, consulte el sitio web de OAuth.Net . Actualmente hay 3 implementaciones de OAuth disponibles para .Net.

Debido a la forma en que OAuth funciona, realmente no puedo imaginar cómo podría tener un proveedor de membresía "OAuth": está destinado a proteger las API, y a menudo el objetivo es delegar la autorización en un nivel más detallado, es decir, brindar acceso a las aplicaciones de los consumidores solo a los datos de la libreta de direcciones de los usuarios, sin permitirles acceder a los archivos de correo electrónico, a su calendario, etc., lo cual no encaja bien con un modelo de seguridad basado en membresía / función.

Supongo que lo que realmente estás buscando es OpenId, es decir, la forma en que te autenticas con . Sugeriría leer el caso de éxito de OpenId aquí y probablemente la mejor implementación de OpenId para .Net es actualmente parte del proyecto DotNetOpenAuth (formalmente se lo llamó DotNetOpenId, el sitio de código de google para el proyecto está aquí ).


debería echar un vistazo a https://github.com/rustd/ASPNETTemplates que tiene las plantillas de proyecto predeterminadas para asp.net que demuestran el inicio de sesión usando OAUth y luego extiende los proveedores universales (plantilla de formularios web pero puede hacer lo mismo para mvc) hacer papeles, etc.