tekitoumemo’s diary

思ったことを書くだけ。長文版Twitter

ASP.NET CoreのGoogle認証

f:id:tekitoumemo:20190106005729p:plain

前回、外部ログインのセットアップとFacebook認証までは説明したので今回はGoogle認証の追加だけです。不足してる情報は以下に書いたのでよかったらみてください。
tekitoumemo.hatenablog.com

tekitoumemo.hatenablog.com

前準備

https://console.developers.google.com/projectselector/apis/libraryGoogle Cloud Platform
でアプリを作成します。これもだいたい以下のURLに書いてます。
docs.microsoft.com
ここも基本的には「/signin-google」でcallback Urlを設定してください。
f:id:tekitoumemo:20190106010614p:plain

クライアント IDとクライアント シークレットを取得しておいてください。

Googlehttpsのみ対応しています。ssl入れてない人はあきらめましょう(多分)

Startupに登録

ConfigureServicesに以下を追加

services.AddAuthentication().AddGoogle(googleOptions =>
{
    googleOptions.ClientId = Configuration["Authentication:Google:ClientId"];
    googleOptions.ClientSecret = Configuration["Authentication:Google:ClientSecret"];
});

Viewを作成

// これか
<a asp-action="SignIn" asp-route-provider ="Google">Google</a>
// これでもおけ
<a href="/auth/signin?provider=Google">Google</a>

これで前回のTwitterの記事と同じ要領で実装終了です。

めっちゃ楽!

Twitterの記事で書いたcallbackUrlとFacebookの記事で書いたhttpさえ解決出来ればすぐ実装出来ますね。

SNS認証は一通り出来たので次は他のことを実装しよう!
f:id:tekitoumemo:20190106011403p:plain
メアド認証がないとログイン画面が決まらんなぁ〜

次はrole関係を適当に書きます。