web-dev-qa-db-ja.com

使用方法OAuth 2-OAuth 2 C#の例

Deviantart apiを使用するには、OAuth 2の使用方法を理解する必要があります。

Client_idとclient_secretの部分を取得しました

ここで彼らが与える情報

エンドポイント

OAuth 2.0を使用して認証する必要があるのは、client_idおよびclient_secretアプリの値と、以下に示すエンドポイント。

OAuth 2.0ドラフト10:

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

OAuth 2.0ドラフト15:

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

プラセボコール

OAuth 2.0認証に依存する最初のAPI呼び出しは、プラセボ呼び出しです。ファイルのアップロードのように、実際の長いAPI呼び出しを行う前に、アクセストークンがまだ有効であることを確認するのに役立ちます。次のいずれかのエンドポイントで呼び出します(アクセストークンを提供する必要があります)。

https://www.deviantart.com/api/draft10/placebohttps://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;
}
13
MonsterMMORPG

最も簡単な方法は、Visual Studio 2013を取得し、認証タイプとして「個人ユーザーアカウント」を選択して新しいASP.NET Webアプリケーションを作成することです。機能するOAuth 2の実装がそこにあります(App_Start\Startup.Auth.csで構成されています)。これをスライスしてニーズに合わせることができます。

10
Iain Galloway

ASP.NET Core Security Projectには、すぐに使用できるソリューションがあります。

Nugetパッケージ: AspNet.Security.OAuth.DeviantArt

0
Tolbxela