2013-02-14 5 views
6

Devo capire come utilizzare OAuth 2 per utilizzare Deviantart api.Come utilizzare OAuth 2 - Esempio OAuth 2 C#

ho avuto la client_id e client_secret parte

Ecco le informazioni che danno

Endpoint

L'unica informazione necessaria per l'autenticazione con noi utilizzando OAuth 2.0 sono i valori client_id e client_secret per la tua app , così come l'endpoint mostrato di seguito.

OAuth 2.0 progetto 10:

https://www.deviantart.com/oauth2/draft10/authorize https://www.deviantart.com/oauth2/draft10/token

OAuth 2.0 progetto 15:

https://www.deviantart.com/oauth2/draft15/authorize https://www.deviantart.com/oauth2/draft15/token

Placebo chiamata

La prima chiamata API basandosi su OAuth 2.0l'autenticazione è la chiamata al placebo. È utile per verificare che un token di accesso sia ancora valido prima di effettuare una vera chiamata API che potrebbe essere lunga, come un caricamento di file. Si chiama con uno dei seguenti punti finali (un token di accesso deve essere fornita):

https://www.deviantart.com/api/draft10/placebo https://www.deviantart.com/api/draft15/placebo

è necessario utilizzare l'endpoint che corrisponde al progetto di OAuth 2.0 che hai ottenuto il token con .

Esso restituisce sempre il seguente JSON: {status: "success"}

Ho cercato nel web e trovato questa libreria impressionante.

DotNetOpenAuth v4.0.1

http://www.dotnetopenauth.net/

aggiunto come riferimento, ma non hanno idea di cosa fare dopo. Anche un piccolo esempio potrebbe essere veramente utile su come utilizzare OAuth 2

using DotNetOpenAuth; 
using DotNetOpenAuth.OAuth2; 

Qui la pagina in cui deviantART fornisce le informazioni

http://www.deviantart.com/developers/oauth2

approvazione qui quello che ho fatto finora, ma non funziona

public static WebServerClient CreateClient() { 
    var desc = GetAuthServerDescription(); 
    var client = new WebServerClient(desc, clientIdentifier: "myid"); 
    client.ClientCredentialApplicator = ClientCredentialApplicator.PostParameter("mysecret"); 
    return client; 
} 

public static AuthorizationServerDescription GetAuthServerDescription() { 
    var authServerDescription = new AuthorizationServerDescription(); 
    authServerDescription.AuthorizationEndpoint = new Uri(@"https://www.deviantart.com/oauth2/draft15/authorize"); 
    authServerDescription.TokenEndpoint = new Uri(@"https://www.deviantart.com/oauth2/draft15/token"); 
    authServerDescription.ProtocolVersion = ProtocolVersion.V20; 
    return authServerDescription; 
} 
+0

Hai provato a guardare i campioni DNOA? http://www.dotnetopenauth.net/ – Mansfield

+0

sì ma non funziona.ha aggiornato la domanda – MonsterMMORPG

risposta

9

La cosa più semplice da fare ora è ottenere Visual Studio 2013 e creare una nuova applicazione Web ASP.NET scegliendo "Account utente individuale" come Tipo di autenticazione. C'è un'implementazione di OAuth 2 funzionante fuori dalla scatola (configurata in App_Start \ Startup.Auth.cs) che puoi troncare e quindi adattare alle tue esigenze.

+2

Preferirei client based come wpf se possibile – MonsterMMORPG

+8

L'applicazione MVC utilizza OAuth1 rispetto a OAUth2. –

+1

Microsoft.Security.OWIN.OAuth utilizza OAuth 2: - http://www.nuget.org/packages/Microsoft.Owin.Security.OAuth/ –