G SuiteアカウントでWordPressにログインする

2019年1月24日

WordPressでログイン必須の限定サイトを作成するときのメモです。ログイン方法は、Googleアカウント連携にします。無償版のGSuiteで検証しました(過去に無償で利用登録できていたGSuiteです。現在は有料のみです。)。

やりたいこと

  • サブドメインにする
  • サイトにアクセスするときはログインが必要
  • ログインはGoogleアカウント連携

わからないところ

  • プラグインで可能?
  • ユーザー登録方法は?
  • Googleのアカウントではなく、GSuiteのアカウントにしたいが区別はある?

2018/06/11 わかったことを追記
・プラグインで可能
・ユーザーはWordPressのユーザーを作成し、メールアドレスをGoogleカウントと同じにする
・GSuiteと無料のgmail.comの区別はなし 要はGoogleアカウント認証!

サブドメインの作成

このドメインのサイトはエックスサーバーで管理しています。エックスサーバーでサブドメインを作成します。

WordPressインストール

作成したサブドメインにインストールします。

サブドメインを追加直後はURLが反映されませんのでしばらく待ちます。

SSLの設定

常時、httpsにするようにしました。

プラグインの設定

WP Multibyte Patchを有効にしました。

Google Apps Login プラグインのインストール

G Suiteでログインできるプラグインを探しました。

Gianismというソーシャルログインができるプラグインがありましたが

「Google Apps Login」がずばりそのまま使えそうでしたので、こちらにしました。

検索すると同じ名前のプラグインが2つありましたが、ユーザー数が多い、ひとつめにしました。

プラグインを有効にするとログイン画面に「Login with Google」が追加されます。

Google Apps Login 設定

コントロールパネルの「設定」ー「Google Apps Login」または、画面上部のメッセージから「設定」をクリックします。

Client IDとClient SecretのコードをGoogleから取得して設定します。GSuiteのドメイン管理者で作業しました。

「新しいウィンドウでパーソナライズされた手順を開くにはここをクリック」のリンク先にも記述してある通り、2つのコードをGoogleから取得するには、「Google Cloud Platform」と呼ばれるG Suite (Google Apps) の各種APIなどを管理するデベロッパー向けのサイトにアクセスします。

Google Cloud Platformにアクセス

https://console.developers.google.com/

下記のダイアログが表示されたら、利用規約に同意します。

プロジェクトの新規作成

プロジェクト名を入力して、作成をクリックします。

作成したプロジェクトを選択して、ダッシュボードを開きます。サイドメニューから「APIとサービス」→「認証情報」をクリックします。

OAuth同意画面をクリックします。

サービス名を入力して「保存」をクリックします。

OAuthクライアントIDの作成

ウェブアプリケーションを選択し、上記の「新しいウィンドウでパーソナライズされた手順を開くにはここをクリック」のページから、「Authorized Javascript origins:」と「Authorized redirect URIs:」の値をコピペして、「作成」をクリックします。

OAuthクライアントのクライアントIDとクライアントシークレットが作成されます。

この値をWordPressの設定画面にコピペします。

「変更を保存」をクリックします。これで終了です。インストールしたWordPressからGoogleのサーバーにAPIで認証できるようになります。

Google Apps Login でログインしてみる

ログインするWordPressのユーザーのメールアドレスはGoogleAppsLoginを設定したGSuiteの管理者アドレスです。

一旦、ログアウト後、「Login」with Google」をクリックします。

Googleアカウントの選択画面が表示されます。

対象のアカウントをクリックすると、Googleの認証情報でワードプレスにログインできました。

同じドメインのGSuiteの一般ユーザーのログイン

ワードプレスのコントロールパネルにて、他のユーザーを作成しました。作成したユーザーはGSuite(sugizo.infoドメイン)の一般ユーザーです。

作成したユーザーでGoogleアカウント認証でのログインを試しました。

「Google Apps Login」プラグインを設定したGsuiteの管理者と同様に、一般ユーザーでもログインできました。

gmail.comユーザーを追加してみる

Gsuiteのユーザーではなく、gmail.comユーザーでもログインを試したところ、同様にGoogleアカウント認証でのログインができました。

ドメインに関係なく、Googleアカウントでの認証ですね。

Advanced Options

ログインページからGoogleに自動的にリダイレクト可能です。

ログイン必須にするには

サイトを参照するときにでも、WordPressへのログインを必須にしたい場合は、Force Loginプラグインを設定します。

ログイン必須により、コンテンツをユーザーのみに限定できます。ただし、メディアの直リンクには無効になります。直接、メディア(アップロードした画像等)のURLを開けば、ログインしていなくても表示されます。

メディアも非表示にしたい場合は、サーバー側でベーシック認証が必要です。

WordPress

Posted by zzz