RealPath:
WebPath:
2018/08/12 10:29 (JST) 更新
チュートリアル的なもの >>

Twitter連携

Contents

プロジェクト作成

プロジェクト作成時に Authentication を Individual User Accounts に変更しておきます。
img--600--size

データベース初期状態構築

Package Manager Console にて以下を実行。

Package Manager Console
PM> Update-Database

NuGet パッケージの導入

Microsoft.AspNetCore.Authentication.Twitter パッケージを導入します。

Package Manager Console
PM> Install-Package Microsoft.AspNetCore.Authentication.Twitter

 
※上記インストールコマンドは最新の .NET Core を想定しています。.NET Core のバージョンが古い場合には、パッケージ側のバージョンも古いものを参照するように「-Version」引数を指定する必要があります。

Package Manager Console
PM> Install-Package Microsoft.AspNetCore.Authentication.Twitter -Version 1.1.2

Twitter アプリの各種キーについて

先に Twitter アプリの Consumer Key (API Key) と Consumer Secret (API Secret) を取得しておく必要があります。

キー情報の設定 (secrets.json)

Solution Explorer にてプロジェクトの右クリックメニューから [Manage User Secrets] を選択すると secrets.json の編集画面が開きます。

取得済みの Twitter キー情報を以下のように設定します。

secrets.json
{
  "Authentication": {
    "Twitter:ConsumerKey": "ConsumerKeyを入力",
    "Twitter:ConsumerSecret": "ConsumerSecretを入力"
  }
}

ソースコードの編集 (Startup.cs)

Startup.cs の ConfigureServices() メソッド内に以下コードを記述。

Startup.cs
    public void ConfigureServices(IServiceCollection services)
    {
        ....

        services.AddAuthentication().AddTwitter(options =>
        {
            options.ConsumerKey = Configuration["Authentication:Twitter:ConsumerKey"];
            options.ConsumerSecret = Configuration["Authentication:Twitter:ConsumerSecret"];
        });
    }

動作確認

上記手順により AddTwitter() をしておくと、ログイン画面に Twitter ボタンが出現します。これを押すと Twitter 認証画面に飛びます。
img--700--size

 
Twitter アプリ情報が表示され、認証を求められます。
img--700--size

 
Twitter 認証が済むと、元のサイトにリダイレクトされ、メールアドレスの入力のみ求められます。(ここはユーザが手動で入力する)
img--700--size

 
登録が済みました。画面右上の表示が「Hello <ユーザ名>」に変わっています。
img--700--size

データを見てみる

SQL Server Object Explorer によりDBテーブルを覗いてみます。
データ構造に深くは踏み込みませんが、AspNetUserLogins というテーブルに Twitter 連携情報が保存されていることが分かります。
img--600--size