Estoy buscando cualquier hilo de artículo o foro, donde podría encontrar información sobre cómo hacer la autenticación de oauth 2.0. Especialmente tengo la aplicación MVC 3 y WCF Restfull API. Y tengo que llamar a los métodos API desde la aplicación web con el uso de la autenticación del protocolo oauth 2.0. Pero no pude encontrar ninguna información al respecto. Después de buscar en Google, solo veo resultados sobre cómo desarrollar clientes para Facebook, LinkedIn, Google, etc. Cualquier ayuda sería útil. Gracias.Llamar a WCF Métodos resueltos utilizando OAUTH 2.0
Respuesta
Puede echar un vistazo a DotNetOpenAuth. Tiene una biblioteca de cliente que puede instalar fácilmente desde NuGet here. Usando DotNetOpenAuth
, todas las tuberías de OAuth se manejan detrás de escena.
DotNetOpenAuth:
Al instalar el paquete NuGet: https://www.nuget.org/packages/DotNetOpenAuth.Ultimate/4.3.3.13295
puede configurar un cliente de OAuth de esta manera:
var authorizationServerDescription = new AuthorizationServerDescription
{
ProtocolVersion = ProtocolVersion.V20,
TokenEndpoint = new Uri("https://yourUrl/token"),
AuthorizationEndpoint = new Uri("https://yourUrl/authorize")
};
var client = new WebServerClient(authorizationServerDescription, "ClientIdentifier", "ClientSecret");
A continuación, se puede solicitar un IAuthorizationState
así:
// Resource Owner Password Flow
client.ExchangeUserCredentialForToken("userName", "password");
// Client Credential Flow
client.GetClientAccessToken();
El IAuthorizationState contiene el AccessToken
que puede utilizar para autorizar en contra de su Api. Si se proporciona un RefreshToken También puede actualizar su autorización usando:
client.RefreshAuthorization(AuthorizationState);
ThinkTecture:
otra posibilidad es utilizar Thinktecture.IdentityModel
. Si elige utilizar Thinktectures IdentityModel, asegúrese de consultar esta publicación: Introducing OAuth2 Code Flow and Refresh Token Support in Thinktecture IdentityServer. Lo cual no solo explica cómo configurar un Token Server OAuth utilizando Thinktecture, sino también cómo usar el cliente, incluido un ejemplo de código. Por supuesto, puede usar este cliente para validar contra otro servidor OAuth 2.0 siempre que los parámetros se implementen de acuerdo con las especificaciones de OAuth.
OAuth 2.0 Si usted quiere tener una mejor visión del flujo de OAuth 2.0, asegúrese de echa un vistazo a Google de OAuth 2.0 Playground. Creo que mucha gente no sabe que es posible probar tu propio servidor con él. Basta con pulsar el icono 'Configuración' en la parte superior derecha y ajuste:
puntos finales de OAuth: Custom
y ya está bueno para ir.
- 1. Android y OAUTH 2.0
- 2. OAuth 2.0 Authorization Header
- 3. Asegurar el servicio REST basado en Jersey utilizando oAuth 2.0
- 4. OAuth 2.0 Token y Lifetime
- 5. Llamar a WCF TimeOut
- 6. OAuth 2.0 definición de clientes
- 7. ¿Cuál es la diferencia entre OAuth y OAuth 2.0?
- 8. ¿Yahoo y MS son compatibles con Oauth 2.0? y algunas preguntas acerca de OAuth 2.0
- 9. OAuth 2.0. No hay sesión? (Sin estado)
- 10. OAuth 2.0 - ¿Qué hay de nuevo?
- 11. La integración de OAuth 2.0 con CodeIgniter
- 12. OAuth 2.0 en C++ (para UNIX)
- 13. Implementación del proveedor OAuth 2.0 usando Coldfusion
- 14. Llamar a .Net 3.5 Servicio WCF desde .NET 2.0 Cliente de servicio web ASMX estándar
- 15. Llamar sincrónicamente a los métodos de contrato de operación WCF en silverlight
- 16. Llamar a los métodos DLL desde Javascript
- 17. FB auth.logout se está iniciando después de haber iniciado sesión utilizando "server-side-workflow" (OAuth 2.0)
- 18. Implementando la Autenticación OAuth 2.0 para Mi API
- 19. Cómo configurar la seguridad al llamar al Servicio WCF desde .Net 2.0 Cliente
- 20. Android: llamar a métodos personalizados en ContentProvider
- 21. llamar a los métodos súper coffeescript
- 22. Llamar a métodos php con cadenas
- 23. llamar a los métodos de delegado opcionales
- 24. OAuth 2.0 necesidad del consumidor clave/consumidor secreto
- 25. ¿Cómo puedo llamar a un método WCF desde C++ utilizando canalizaciones con nombre?
- 26. ¿Es una mejor práctica llamar a los métodos de forma asincrónica utilizando delegados?
- 27. cómo llamar a los métodos de extensión utilizando Eval en un control de enlace de datos
- 28. ¿Qué es lo mejor para auth ASP.NET MVC REST API? OAuth 2.0 u OAuth 1.0?
- 29. ¿Hay una implementación de Proveedor OAuth 2.0 en Java? (No cliente de OAuth)
- 30. Rendimiento de llamar a los delegados vs métodos