前提条件
-
Auth0 にアプリケーションを登録する。
- 適切な Application Type を選択します。
- Allowed Callback URL に
{https://yourApp/callback}を追加します。 - アプリケーションの Grant Types に、適切なフローに対応するグラントタイプが含まれていることを確認します。
- 有効な Google Workspace アカウントと、ご自身の Google Workspace 組織。
- Google Workspace 組織の管理者権限。
Google でアプリケーションを登録する
-
同意画面の Authorized domains で、
auth0.comを追加します。 -
アプリケーションの種類を選択するよう求められたら、Web application を選択し、次のパラメーターを設定します。
カスタムドメイン を使用していない場合、テナントのドメイン名は
フィールド 説明 名前 アプリケーションの名前 承認済みの JavaScript 生成元 https://{yourDomain}承認済みのリダイレクト URI https://{yourDomain}/login/callback<TENANT NAME>.<REGIONAL SUBDOMAIN>.auth0.comです。たとえば、example-nameという名前の米国リージョンのテナントのドメイン名はexample-name.us.auth0.comです。2020 年 6 月より前に作成されたテナントでは、リージョンのサブドメインは含まれません。 - Google Workspace のエンタープライズドメインに接続する予定がある場合は、Admin SDK API を有効にする必要があります。
Auth0 で Google Workspace のエンタープライズ接続を設定する
Google Workspace のエンタープライズ接続を作成する
Auth0 Dashboard > 認証 > エンタープライズ で Google Workspace を探し、作成 を選択します。

接続の設定を選択します
新しい Google Workspace エンタープライズ接続の作成ページで、設定を行います。
設定の選択が完了したら、Create をクリックします。
| Field | Description |
|---|---|
| 目的 | 接続の用途です。ログイン、Connected Accounts、またはその両方に使用できます。詳しくは、ユーザー認証と Connected Accounts の違いを参照してください。 |
| 接続名 | 接続の論理識別子です。テナント内で一意である必要があり、後から変更することはできません。 |
| Google Workspace ドメイン | 組織の Google Workspace ドメイン名です。 |
| クライアントID | 登録した Google アプリケーションの一意の識別子です。Google Cloud Console で登録したアプリのクライアントIDを入力します。 |
| クライアントシークレット | 登録した Google アプリケーションへのアクセスに使用する文字列です。Google Cloud Console で登録したアプリのクライアントシークレットを入力します。 |
| Attributes | アプリがアクセスでき、Auth0 がユーザープロフィールに保存するサインイン済みユーザーの属性です。
|
| 拡張属性 (省略可) | アプリがアクセスでき、Auth0 がユーザープロフィールに保存するサインイン済みユーザーの追加属性です。
|
| Admin Directory API を使用 (省略可) | この設定を有効にすると、接続から Google Directory API を呼び出せるようになります。必要に応じて Users または Users and Groups のスコープを選択してください。 |
| Auth0 User ID (省略可) | デフォルトでは、Auth0 の user_id は email にマッピングされます。Use ID instead of Email for Auth0 User ID を有効にすると、user_id は代わりに id にマッピングされます。この設定は新しい接続でのみ指定でき、構成後に変更することはできません。 |
ユーザーのログイン方法を設定する
Login Experience タブで、この接続を使用したユーザーのログイン方法を設定します。
設定を入力したら、Save をクリックします。
| Field | Description |
|---|---|
| Home Realm Discovery | ユーザーのメールアドレスのドメインを、指定した IDプロバイダーのドメイン と比較します。詳しくは、識別子ファースト認証を設定するを参照してください。 |
| Connection button | Display connection as a button を選択すると、この接続用のボタンがアプリケーションのログインページに表示されます。選択すると、次の 2 つのオプションをカスタマイズできます:
|
Google 管理者の同意を確認する
Setup タブで、次のいずれかを行います。
- Google の Admin API を使用するように Google Workspace の設定を構成する管理者権限がある場合は、続行 リンクを選択するか、
- 必要な設定を調整できるよう、指定された URL を管理者に渡します
次のステップ
ユーザープロフィールの同期をカスタマイズまたは自動化する
- Sync User Profile Attributes at Login を有効にすると、ユーザーのログイン時に Google がユーザープロフィールを同期するようになります。 有効にすると、Sync Frequency を選択できます。デフォルトでは、Auth0 はログインのたびにユーザープロフィールを更新します。初回ログイン時のみ同期するように設定することもできます。
- Provision Users and Groups Using Directory Sync を有効にすると、Google Workspace から Auth0 にユーザーとグループが自動的に同期されます。詳しくは、Sync Google Workspace Users to Auth0 with Google Directory Sync を参照してください。
アクセストークンとリフレッシュトークンを取得する
access_type=offline&approval_prompt=force を追加します。
Google Workspace の場合、Auth0 は個々のユーザーのアクセストークンとリフレッシュトークンを user オブジェクトに、ワークスペース管理者のトークンを connection オブジェクトに保存します。これらのトークンには、Management API の接続を取得するエンドポイントを使用してアクセスできます。
追加のユーザーおよびグループの詳細を取得する
- エンタープライズ接続の Settings タブで、General セクションの Extended Attributes にある Groups を有効にします。
- Setup タブで、提供されているリンクを使用して管理者の同意手続きを完了します。
-
Management API の 接続を取得するエンドポイント を使用して、
connectionオブジェクトに保存されている管理者アクセストークンを取得します。 -
アクセストークンを使用して、Google の Manage Groups エンドポイント を呼び出します。例:
Actions で認証を検証する
idp_tenant_domain claim が想定する組織と一致することを確認できます。例:
Example post-login Action code to validate Google authentications
idp_tenant_domain を検証できます。
- Google Social
- Google Workspace
- Google OIDC
詳細情報
制限
- アプリケーションに既存のGoogle ソーシャル接続があり、同じドメインに対して新しい Google Workspace エンタープライズ接続を作成すると、ソーシャル接続に関連付けられたユーザーはエンタープライズ接続経由でログインします (その接続を有効にしていなくても) 。
- Google Workspace エンタープライズ接続では、Auth0 ユーザープロフィールに最大 200 個のグループを含めることができます。ユーザープロフィールに 200 個を超えるグループがある場合、それらは表示されないことがあります。認可に Google グループを使用する場合は、権限のないユーザーがグループを変更できないようにワークスペースを保護する必要があります。
- 接続ボタンは Classic Login では使用できません。接続ボタンを有効にしてカスタマイズするには、Universal Login を使用します。