2012-06-12 22 views
6

Ich bin auf der Suche nach einem Artikel oder Forum-Thread, wo ich Informationen finden könnte, wie Oauth 2.0-Authentifizierung zu machen. Vor allem habe ich MVC 3 Anwendung und WCF Restfull API. Und ich muss API-Methoden von Web-App mit Oauth 2.0-Protokoll-Authentifizierung aufrufen. Aber ich konnte keine Informationen darüber finden. Nach dem googeln sehe ich nur Ergebnisse, wie man Kunden für Facebook, LinkedIn, Google usw. entwickeln kann. Jede Hilfe wäre hilfreich. Vielen Dank.Aufruf WCF Resfull Methoden mit OAUTH 2.0

Antwort

1

Sie können sich DotNetOpenAuth ansehen. Es hat eine Client-Bibliothek, die Sie einfach von NuGet here installieren können. Mit DotNetOpenAuth werden alle OAuth-Installationen hinter den Kulissen abgewickelt.

DotNetOpenAuth:

Wenn Sie das NuGet Paket installieren: https://www.nuget.org/packages/DotNetOpenAuth.Ultimate/4.3.3.13295

können Sie Setup ein OAuth-Client wie folgt aus:

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"); 

Dann können Sie eine IAuthorizationState wie folgt anfordern:

// Resource Owner Password Flow 
client.ExchangeUserCredentialForToken("userName", "password"); 

// Client Credential Flow 
client.GetClientAccessToken(); 

Der IAuthorizationState enthält die AccessToken, die Sie verwenden können, um Ihre Api zu autorisieren. Wenn ein RefreshToken vorgesehen ist, können Sie auch Ihre Berechtigung mit aufzufrischen:

client.RefreshAuthorization(AuthorizationState); 

ThinkTecture:

Alternativ können Sie Thinktecture.IdentityModel verwenden. Wenn Sie sich entschieden haben, Thinktectures IdentityModel zu verwenden, lesen Sie diesen Artikel: Introducing OAuth2 Code Flow and Refresh Token Support in Thinktecture IdentityServer. Es wird nicht nur erläutert, wie ein OAuth-Token-Server mit Thinktecture eingerichtet wird, sondern auch, wie der Client verwendet wird, einschließlich eines Codebeispiels. Natürlich können Sie diesen Client für die Validierung gegen einen anderen OAuth 2.0-Server verwenden, solange die Parameter gemäß den OAuth-Spezifikationen implementiert sind.

OAuth 2.0 Spielplatz Wenn Sie einen besseren Blick auf die OAuth 2.0 Fluss haben wollen, müssen Sie Google überprüfen OAuth 2.0 Playground. Ich denke, dass viele Leute nicht wissen, dass es möglich ist, ihren eigenen Server damit zu testen. Drücken Sie einfach auf das Symbol in der oberen rechten ‚Einstellungen‘ und setzen:

OAuth Endpunkte: Benutzerdefinierte

Und du bist gut zu gehen.