我必须弄清楚如何使用OAuth 2才能使用Deviantart api。
我得到了client_id和client_secret部分
这里提供的信息
端点
使用OAuth 2.0向我们进行身份验证所需的唯一信息是应用的client_id
和client_secret
值,以及下面显示的端点。
OAuth 2.0草案10:
https://www.deviantart.com/oauth2/draft10/authorize https://www.deviantart.com/oauth2/draft10/token
OAuth 2.0草案15:
https://www.deviantart.com/oauth2/draft15/authorize https://www.deviantart.com/oauth2/draft15/token
安慰剂电话
依赖于OAuth 2.0身份验证的第一个API调用是安慰剂调用。 在进行可能很长的真实API调用(例如文件上载)之前,检查访问令牌是否仍然有效非常有用。 您可以使用以下端点之一调用它(必须提供访问令牌):
https://www.deviantart.com/api/draft10/placebo https://www.deviantart.com/api/draft15/placebo
您需要使用与您已获得令牌的OAuth 2.0草稿相对应的端点。
它始终返回以下JSON:{status: "success"}
我在网上搜索过,找到了这个很棒的图书馆。
DotNetOpenAuth v4.0.1
http://www.dotnetopenauth.net/
添加它作为参考,但不知道下一步该做什么。即使是一个非常小的例子对于如何使用OAuth 2
也非常有用using DotNetOpenAuth;
using DotNetOpenAuth.OAuth2;
这里是deviantart提供信息的页面
http://www.deviantart.com/developers/oauth2
好的,到目前为止我得到了什么,但没有工作
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 :(得分:10)
现在最简单的方法是获取Visual Studio 2013并创建一个新的ASP.NET Web应用程序,选择“个人用户帐户”作为您的身份验证类型。这里有一个开箱即用的OAuth 2实现(在App_Start \ Startup.Auth.cs中配置),您可以将其切片,然后根据您的需要进行调整。
答案 1 :(得分:0)
在ASP.NET Core安全项目中,现在有一个可供使用的解决方案:
Nuget软件包:AspNet.Security.OAuth.DeviantArt