如何使用OAuth 2 - OAuth 2 C#示例

Mon*_*RPG 10 c# oauth dotnetopenauth oauth-2.0

我必须弄清楚如何使用OAuth 2才能使用Deviantart api.

我得到了client_id和client_secret部分

这里是他们提供的信息

端点

您使用OAuth 2.0向我们进行身份验证所需的唯一信息是您的应用的值client_idclient_secret值,以及下面显示的端点.

OAuth 2.0草案10:

自由软件 网址:htt

OAuth 2.0草案15:

自由软件 网址:htt

安慰剂电话

依赖于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;
Run Code Online (Sandbox Code Playgroud)

这里是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;
}
Run Code Online (Sandbox Code Playgroud)

Iai*_*way 11

现在最简单的方法是获取Visual Studio 2013并创建一个新的ASP.NET Web应用程序,选择"个人用户帐户"作为您的身份验证类型.这里有一个开箱即用的OAuth 2实现(在App_Start\Startup.Auth.cs中配置),您可以将其切片,然后根据您的需要进行调整.

  • MVC应用程序使用OAuth1而不是OAUth2. (8认同)
  • 如果可能的话,我更喜欢基于客户端的wpf (3认同)
  • Microsoft.Security.OWIN.OAuth使用OAuth 2: - http://www.nuget.org/packages/Microsoft.Owin.Security.OAuth/ (2认同)