ASP.NET Core Identity でSNSログイン機能を追加

2021-08-16
Login
SNS

あー、もう夏が終わってしまいそうと思いながら今日もアウトプットしていきたいと思います。

今日はAPS.NET Core Identityを使っているシステムに対してSNSログインを追加していく件です。

こちらのドキュメントを参照しながら進めていきます。

Facebook

Facebookで事前にアプリ登録をする必要がありますのでまずは下記のURLからアプリ登録を行います。

FB開発者ページ

ビジネス用途を選択して次へ進みます。

ビジネス用途を選択して次へ進みます。

こちらの入力内容を確認して次へ

こちらの入力内容を確認して次へ

アプリが作成され、アプリトップページに遷移します、左メニューのFBログインから設定をクリック。

アプリが作成され、アプリトップページに遷移します、左メニューのFBログインから設定をクリック。

赤色のところが”はい”になっていることを確認。緑いろで囲んだ部分にFacebookからのリクエストを処理するURLを記載します。デフォルトではsignig-facebookとなっています、ここはRoute設定で変更が可能です。

赤色のところが”はい”になっていることを確認。緑いろで囲んだ部分にFacebookからのリクエストを処理するURLを記載します。デフォルトではsignig-facebookとなっています、ここはRoute設定で変更が可能です。

次に左メニュー「設定」「ベーシック」へ移動して、App IdとSecretを取得します。

次に左メニュー「設定」「ベーシック」へ移動して、App IdとSecretを取得します。

これでFBの設定はおしまいです。

次はVisual Studioに戻ってコード側の設定をします。 appsettings.jsonの中にAppConfigというオブジェクトを作ってあるのでその中にExternalLogin,Facebook, AppId | Secretという具合に入れ子にして値をいれます。

appsettings.jsonに値を指定

次にnugetで専用パッケージを取得します。

https://www.nuget.org/packages/Microsoft.AspNetCore.Authentication.Facebook

PM > Install-Package Microsoft.AspNetCore.Authentication.Facebook

Startup.cs のService内に下記のコードを追記します。

services.AddAuthentication().AddFacebook(options =>
{
   options.AppId = Configuration["AppSettings:ExternalLogin:Facebook:AppId"];
   options.AppSecret = Configuration["AppSettings:ExternalLogin:Facebook:Secret"];
   options.AccessDeniedPath = "/AccessDeniedPathInfo";
});

アプリの申請

FBアプリの申請が必要

FBアプリの申請

公開日: 2021-08-15