Social Connections

Auth0はさまざまなソーシャルログイン連携をSocial Connectionsとして提供している。
これを有効化するだけで、ソーシャルログイン機能を利用することができる。

Social Connectionsの有効化

Authentication -> Socialから連携するサービスをONにする。デフォルトでGoogleが有効になっている。

Auth0 SocialConnections width=640

連携先としてGitHubを追加する。GitHubを選択すると、連携に関する設定が表示される。連携のためには各プロバイダー(Social Identity Providers)のクライアントID(Client ID)とシークレット(Client Secret)が必要だが、テストの場合指定しなくても使用することができる。

Auth0 SocialConnections width=640

Attributesとして取得する属性の値を選択する。

Auth0 SocialConnections width=640

ここではEmail Addressread userを選択した。

Auth0 SocialConnections width=640

Social Connectionsはアプリケーション毎に有効化するかどうかを選択できる。
デフォルトのDefault Appとチュートリアルで作成したtestappが表示されている。

Auth0 SocialConnections width=640

ソーシャルログインのテスト1

Default Appからログインする。画面にSign in with GitHubが現れている。

Auth0 SocialConnections width=640

Auth0自身にGitHubアカウントでログインしているので、認証プロセスは省略され、Auth0に対する認可の確認画面が表示される。Email addresses (read-only)profile information (read-only)を許可するかどうかが問われる。

Auth0 SocialConnections width=640

Authrorize auth0を選択するとログイン後のページが表示される。

Auth0 SocialConnections width=640

ソーシャルログインのテスト2

testappからログインする。

Auth0 SocialConnections width=640

同じGitHubユーザで一度ログインしているのでAuth0に対する認可画面はない。

Auth0 SocialConnections width=640

アプリに対する認可の画面が表示される。

Auth0 SocialConnections width=640

認可するとログイン後のページが表示される。

Auth0 SocialConnections width=640

Client IDとClient Secretを取得する

ログインできることを確認できたので、GitHubのクライアントID(Client ID)とシークレット(Client Secret)を取得する。

Client IDとClient Secretの発行で必要になるドメイン名を確認する。Settings -> Custom Domainsで確認。

Auth0 SocialConnections width=640

GitHubのSettings -> Developer settingsOAuth AppsRegister a new application

Auth0 SocialConnections width=640

Auth0 SocialConnections width=640

指定の情報を入力してRegister applicationで、Client IDとClient Secretを発行。

  • Homepage URLhttps://YOUR_DOMAIN
  • Authorization callback URLhttps://YOUR_DOMAIN/login/callback

Auth0 SocialConnections width=640

登録されたOAuth appの画面からClient IDとClient Secretを取得することができる。この画面上でこの連携を経由して連携されたユーザの数が表示されている。このGitHubアカウント以外のGitHubアカウントも連携することができる。

Auth0 SocialConnections width=640

連携時の認可画面で表示するアイコンを設定することができる。

Auth0 SocialConnections width=640

Auth0 SocialConnections width=640

Auth0 SocialConnections width=640

Client IDとClient SecretをAuth0に登録する

Client IDとClient Secretを設定していない場合、!が表示されている。

Auth0 SocialConnections width=640

Client IDとClient Secretを設定し、追加でpublic_repoを連携する。

Auth0 SocialConnections width=640

!が表示されなくなる。

Auth0 SocialConnections width=640

ソーシャルログインのテスト3

Default Appから再度ログインする。一度ログイン済のため、ログイン画面は表示されず、先ほど追加したpublic_repoを含めた認可の画面が表示される。Auth0のアイコンはGitHubで設定したアイコンに変わっている。

Auth0 SocialConnections width=640

認可後は同じ。

Auth0 SocialConnections width=640

ソーシャルログインのテスト4

testappからログインする。

Auth0 SocialConnections width=640

こんどは新しいGitHubアカウントでログインする。

Auth0 SocialConnections width=640

設定したアイコンが表示されている。

Auth0 SocialConnections width=640

GitHubで認証すると、Auth0に対する認可画面が表示される。

Auth0 SocialConnections width=640

アプリに対する認可の画面が表示される。

Auth0 SocialConnections width=640

新しいアカウントでログインしたため2アカウントが表示されている。

Auth0 SocialConnections width=640