Drupalでは、Open ID Connectモジュールを用いることで、GoogleやFacebookなどのアカウントから管理画面へログインすることができます。今回はGoogleアカウントでのログイン方法を紹介します。
Open ID Connectモジュールを入れる
まずはDrupalにOpen ID Connecctモジュールを入れましょう。
モジュールのURLは https://www.drupal.org/project/openid_connectです。Drupal8の場合、Downloadsから「8.x~」と書かれている方の.tar.gzファイルのURLをコピーしましょう。
[機能拡張>新しいモジュールをインストール]から、先ほどコピーしたURLを入力してインストールしましょう。
インストールに成功すると、[機能拡張]の[その他]に[OpenID Connect]が表示されます。これを有効化すれば準備OKです。
Google側でOpen ID Connectの準備をする
続いてGoogleのアカウント情報をDrupalで使うための設定をしましょう。
必要なライブラリを有効化する
まずはGoogle API Consoleへ移動します。
https://console.cloud.google.com/apis/library?hl=ja
検索フォームから、[Google+ API]を検索しましょう。
表示されたライブラリを有効にしましょう。同様の手順で[Identity Toolkit API]についても有効化します。
認証情報を取得する
Google API Consoleに戻り、左上にある、[APIライブラリ]をクリックしましょう。
https://console.cloud.google.com/apis/library?hl=ja
左メニューから[認証情報]をクリックします。
その後[認証情報を作成]をクリックすると、認証方法の確認画面がでます。
[OAuthクライアントID]を選びましょう。
同意画面を設定していない場合は作成します。
同意画面の設定ができていれば、OAuthクライアントIDの作成画面がでます。
アプリケーションの種類を[ウェブアプリケーション]に設定し、名前を入れましょう。
[承認済みのリダイレクトURI]には、Drupal管理画面の[ホーム>管理>環境設定>ウェブサービス>OpenID Connect]から取得できます。
入力すると、クライアントID / シークレットが入ってきます。
DrupalでGoogleログインフォームを表示する
先ほど取得したクライアントIDとクライアント シークレットをDrupal側に設定すれば準備OKです。[ホーム>管理>環境設定>ウェブサービス>OpenID Connect]から、[Cliend ID]に[クライアントID]を、[Client secret]に[クライアント シークレット]を入力して保存しましょう。
あとは[OpenID Connect Login]というブロックが追加されていますので、それを`/user/login`で表示するように配置すればOKです。
[Log in with Google]という項目が追加されました。
アカウントがない状態でGoogleログインすると、「管理者からの承認待ちです」というメッセージが表示されます。
ユーザーの状態が[ブロック]となっておりますので、これを[アクティブ]にすることで有効化できます。
おわりに
OAuthやOpenID Connectに触れる機会がないとすこし設定に戸惑うかもしれません。しかし一度設定してしまえば、GoogleやFacebook、またはOpenID Connectに対応しているサービスのユーザー情報を使ってログインすることができます。
関連コンテンツ
- Drupal 導入前に必ず考えたい「保守」のこと
- 手軽に本格的な Drupal のローカル開発環境を構築してみよう
- 9 つのシンプルなステップで Drupal 9 のテーマを作成してみよう
- Drupal 9: 一般的なエクスプロイトの経路をブロックする方法
- エンジニア新人研修のご紹介
- Headless CMS というトレンドに Drupal は適応している!?
- Drupal 9.1 が登場!アップグレードの準備はできていますか?
- Drupal 9 におすすめのモジュール
- State of Drupalプレゼンテーション(2021年4月)
- 第 16 回 Drupal をもっと知りたい方に向けた各種情報
Drupal 初心者講座バックナンバー
- Drupal 9/10 初心者講座
- 第 1 回 歴史に見る Drupal の DNA
- 第 2 回 Drupal はフレームワークか?CMS か?他の CMS との比較
- 第 3 回 Drupal の特徴
- 第 4 回 Drupal 9 / 10 のインストール (1)
- 第 5 回 Drupal 9 / 10 のインストール (2)
- 第 6 回 Drupal にコンテンツを投稿してみる
- 第 7 回 Drupal のボキャブラリとタクソノミーの使い方
- 第 8 回 コンテンツ管理における Drupal と他の CMS との比較
- 第 9 回 Drupal のブロックシステム
- 第 10 回 Drupal の標準クエリビルダー Views の使い方
- 第 11 回 Drupal と他の CMS のクエリビルダー機能を比較
- 第 12 回 Drupal の多言語機能と他の CMS やサービスとの比較
- 第 13 回 Drupal の権限設定と WordPress や Movable Type との比較
- 第 14 回 Drupal のテーマシステムについて
- 第 15 回 Drupal の拡張モジュールの選定と使い方
- 第 16 回 Drupal をもっと知りたい方に向けた各種情報