2012-06-12 27 views
6

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

1

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.

Cuestiones relacionadas