17

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/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;
}
4

2 に答える 2

11

ここで最も簡単なのは、Visual Studio 2013 を入手して、認証の種類として "個々のユーザー アカウント" を選択して新しい ASP.NET Web アプリケーションを作成することです。そこには、すぐに使える OAuth 2 実装 (App_Start\Startup.Auth.cs で構成) があり、これを切り出して、ニーズに合わせて調整することができます。

于 2013-02-14T13:41:32.250 に答える
0

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

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

于 2020-01-05T13:39:28.127 に答える