2012-06-12 7 views
6

Sto cercando qualsiasi articolo o thread del forum, in cui è possibile trovare informazioni su come eseguire l'autenticazione oauth 2.0. Soprattutto ho l'applicazione MVC 3 e l'API Restfull WCF. E devo chiamare i metodi API dall'app Web con l'autenticazione del protocollo oauth 2.0. Ma non sono riuscito a trovare alcuna informazione al riguardo. Dopo aver fatto ricerche su Google, vedo solo risultati su come sviluppare clienti per Facebook, linkedin, google ecc. Qualsiasi aiuto sarebbe utile. Grazie.Chiama i metodi WCF Resfull con l'utilizzo di OAUTH 2.0

risposta

1

Si potrebbe dare un'occhiata a DotNetOpenAuth. Ha una libreria client che puoi installare facilmente da NuGet here. Utilizzando DotNetOpenAuth tutto l'impianto idraulico OAuth viene gestito dietro le quinte.

DotNetOpenAuth:

Quando si installa il pacchetto NuGet: https://www.nuget.org/packages/DotNetOpenAuth.Ultimate/4.3.3.13295

è possibile impostare un client OAuth come questo:

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

Quindi è possibile richiedere un IAuthorizationState come questo:

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

// Client Credential Flow 
client.GetClientAccessToken(); 

Lo IAuthorizationState contiene lo AccessToken che è possibile utilizzare per Autorizzare contro la propria Api. Se viene fornito un RefreshToken si può anche aggiornare la vostra autorizzazione utilizzando:

client.RefreshAuthorization(AuthorizationState); 

ThinkTecture:

In alternativa è possibile utilizzare Thinktecture.IdentityModel. Se hai scelto di utilizzare Thinktectures IdentityModel assicurati di dare un'occhiata a questo post: Introducing OAuth2 Code Flow and Refresh Token Support in Thinktecture IdentityServer. Questo spiega non solo come configurare un server token OAuth utilizzando Thinktecture, ma anche come utilizzare il client includendo un esempio di codice. Naturalmente è possibile utilizzare questo client per convalidare un altro server OAuth 2.0 purché i parametri siano implementati in base alle specifiche OAuth.

OAuth 2.0 Parco giochi Se si vuole avere un aspetto migliore al flusso OAuth 2.0, assicurati di controllare Google OAuth 2.0 Playground. Penso che molte persone non sappiano che è possibile testare il proprio server con esso. Basta premere l'icona 'Impostazioni' in alto a destra e impostare:

endpoint OAuth: personalizzate

E tu sei a posto.

Problemi correlati