Je dois comprendre comment utiliser OAuth 2 pour utiliser l'API Deviantart.
J'ai la partie client_id et client_secret
Ici les informations qu'ils donnent
Points de terminaison
Les seules informations dont vous avez besoin pour vous authentifier avec nous en utilisant OAuth 2.0 sont les client_id
et client_secret
valeurs pour votre application, ainsi que le point de terminaison indiqué ci-dessous.
OAuth 2.0 draft 10:
https://www.deviantart.com/oauth2/draft10/authorizehttps://www.deviantart.com/oauth2/draft10/token
Version 15 d'OAuth 2.0:
https://www.deviantart.com/oauth2/draft15/authorizehttps://www.deviantart.com/oauth2/draft15/token
Appel placebo
Le premier appel d'API s'appuyant sur l'authentification OAuth 2.0 est l'appel placebo. Il est utile pour vérifier qu'un jeton d'accès est toujours valide avant de faire un véritable appel d'API qui pourrait être long, comme un téléchargement de fichier. Vous l'appelez avec l'un des points de terminaison suivants (un jeton d'accès doit être fourni):
https://www.deviantart.com/api/draft10/placebohttps://www.deviantart.com/api/draft15/placebo
Vous devez utiliser le point de terminaison qui correspond au brouillon OAuth 2.0 avec lequel vous avez obtenu votre jeton.
Il renvoie toujours le JSON suivant: {status: "success"}
J'ai cherché sur le Web et j'ai trouvé cette bibliothèque géniale.
DotNetOpenAuth v4.0.1
http://www.dotnetopenauth.net/
Ajouté comme référence mais je n'ai aucune idée de quoi faire ensuite. Même un très petit exemple serait vraiment utile sur la façon d'utiliser OAuth 2
using DotNetOpenAuth;
using DotNetOpenAuth.OAuth2;
Voici la page où deviantart donne les informations
http://www.deviantart.com/developers/oauth2
Ok ici ce que j'ai obtenu jusqu'à présent mais ne fonctionne pas
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;
}
La chose la plus simple à faire maintenant est d'obtenir Visual Studio 2013 et de créer une nouvelle application Web ASP.NET en choisissant "Comptes d'utilisateurs individuels" comme type d'authentification. Il y a une implémentation fonctionnelle OAuth 2 prête à l'emploi) (configurée dans App_Start\Startup.Auth.cs) que vous pouvez découper puis adapter à vos besoins.
Dans le projet de sécurité ASP.NET Core, il existe maintenant une solution prête à l'emploi:
Package Nuget: AspNet.Security.OAuth.DeviantArt