OAuth 2.0またはOpenID Connect(OIDC)を使用してシングルサインオン(SSO)を設定します。SAML用のクラウドネイティブIDプロバイダーの最新の代替手段です。
SAMLとOAuth/OIDCの比較
| 機能 | SAML | OAuth/OIDC |
|---|---|---|
| プロトコル | XMLベース | JSON/REST |
| トークン形式 | XMLアサーション | JWT |
| 最適用途 | エンタープライズIdPs | クラウドアプリ |
| セットアップの複雑さ | より高い | より低い |
IDプロバイダーがOpenID Connectをサポートしている場合は、OAuth 2.0ではなくOIDCを選択してください — Zenovayは、IDプロバイダーのJWKSエンドポイントに対してIDトークンを検証し、各エンドポイントを個別にリストするのではなく、単一のディスカバリー(メタデータ)URLを提供します。
サポートされているプロバイダー
| プロバイダー | プロトコル |
|---|---|
| Microsoft Entra ID(Azure AD) | OIDC |
| Okta | OIDC |
| Auth0 | OIDC |
| Keycloak | OIDC |
| カスタム | OAuth 2.0 / OIDC |
Zenovay OAuth/OIDC設定
リダイレクトURI
IDプロバイダーには、このリダイレクトURIが必要です:
| 設定 | 値 |
|---|---|
| Redirect URI / Callback URL | https://auth.zenovay.com/api/sso/oauth/callback |
この値(およびSAML相当物)は、設定 → セキュリティ → SSOからサービスプロバイダーの詳細の下で直接コピーできます。

必要なスコープ
Zenovayは以下のスコープを必要とします:
openid
email
profile
OAuth 2.0とOpenID Connectのどちらかを選択
| 機能 | OAuth 2.0 | OpenID Connect |
|---|---|---|
| IDトークン検証 | 適用不可 | JWKSを介して自動 |
| 必要なフィールド | Client ID、Client Secret、Issuer、Authorization URL、Token URL、Userinfo URL | Client ID、Client Secret、Issuer、Metadata URL |
| 最適用途 | OIDCをサポートしていないIdPs | モダンIdPs(Okta、Entra ID、Auth0、Keycloak) |
OIDCではメタデータURL(IDプロバイダーの.well-known/openid-configurationドキュメント)を提供し、Zenovayはそこから認可、トークン、ユーザー情報、JWKSエンドポイントを読み込みます。純粋なOAuth 2.0では、各エンドポイントURLを自分で入力します。
Microsoft Entra ID OIDC設定
ステップ1:アプリケーションを登録
- Microsoft Entra管理センターにサインイン
- Identity → Applications → App registrationsに移動
- New registrationをクリック
- 設定:
| Entra IDフィールド | 値 |
|---|---|
| 名前 | Zenovay |
| サポートされているアカウントタイプ | この組織ディレクトリのアカウントのみ |
| リダイレクトURI | Web — https://auth.zenovay.com/api/sso/oauth/callback |
- Registerをクリック
ステップ2:クライアントシークレットを作成
- Certificates & secretsに移動
- New client secretをクリック
- 説明と有効期限を設定
- シークレット値をすぐにコピーしてください(再度表示されません)
ステップ3:アプリケーションの詳細を記録
これらの値を記録してください:
- Application (client) ID — Overview ページから
- Client Secret — ステップ2から
- Tenant ID — Overview ページから
ステップ4:APIの権限
- API permissionsに移動
- Microsoft Graph → User.Read(委任)が記載されていることを確認
- そうでない場合は、Add a permission → Microsoft Graph → Delegated permissions → User.Readをクリック
ステップ5:Zenovayで設定
- ZenovayでSettings → Security → SSOに移動
- Add providerをクリックしてOpenID Connectを選択
- 入力:
- Provider name:例:「Microsoft Entra ID」
- Client ID:ステップ3のApplication (client) ID
- Client Secret:ステップ2のシークレット値
- Issuer:
https://login.microsoftonline.com/{your-tenant-id}/v2.0 - Metadata URL:
https://login.microsoftonline.com/{your-tenant-id}/v2.0/.well-known/openid-configuration
- Createをクリック
- メールドメインを追加して検証
- 接続をテスト
Okta OIDC設定
ステップ1:アプリケーションを作成
- Okta Admin Console → Applicationsに移動
- Create App Integrationをクリック
- OIDC - OpenID Connectを選択
- Web Applicationを選択
- Nextをクリック
ステップ2:アプリケーションを設定
| Oktaフィールド | 値 |
|---|---|
| App integration name | Zenovay |
| Grant type | Authorization Code |
| Sign-in redirect URIs | https://auth.zenovay.com/api/sso/oauth/callback |
ステップ3:ユーザーを割り当て
- Assignmentsタブに移動
- ユーザーまたはグループを割り当て
- 保存
ステップ4:認証情報を取得
Generalタブから、以下を記録してください:
- Client ID
- Client Secret
ステップ5:IssuerおよびメタデータURLを取得
- Okta Admin ConsoleのSecurityで → APIに移動
- 認可サーバーを探します(通常は「default」)
- Issuer URIは以下のようになります:
https://your-org.okta.com/oauth2/default - Metadata URLは、Issuer URI +
/.well-known/openid-configurationの例です:https://your-org.okta.com/oauth2/default/.well-known/openid-configuration
ステップ6:Zenovayで設定
- Settings → Security → SSOに移動
- Add providerをクリックしてOpenID Connectを選択
- 入力:
- Provider name:例:「Okta」
- Client ID:ステップ4から
- Client Secret:ステップ4から
- Issuer:ステップ5のIssuer URI
- Metadata URL:ステップ5のDiscovery URL
- Createをクリック
- メールドメインを追加して検証
- 接続をテスト
Auth0設定
ステップ1:アプリケーションを作成
- Auth0 Dashboardに移動
- Applications → Create Applicationに移動
- Regular Web Applicationsを選択
- Createをクリック
ステップ2:設定を構成
Settingsタブで:
| Auth0フィールド | 値 |
|---|---|
| Allowed Callback URLs | https://auth.zenovay.com/api/sso/oauth/callback |
Save Changesをクリック。
ステップ3:認証情報を取得
Settingsタブから、以下を記録してください:
- Domain(例:
your-tenant.us.auth0.com) - Client ID
- Client Secret
ステップ4:Zenovayで設定
- Settings → Security → SSOに移動
- Add providerをクリックしてOpenID Connectを選択
- 入力:
- Provider name:例:「Auth0」
- Client ID:ステップ3から
- Client Secret:ステップ3から
- Issuer:
https://your-tenant.us.auth0.com/(末尾のスラッシュを含める) - Metadata URL:
https://your-tenant.us.auth0.com/.well-known/openid-configuration
- Createをクリック
- メールドメインを追加して検証
- 接続をテスト
Auth0のIssuer URLには末尾のスラッシュを含める必要があります。例:https://dev-xxxxx.us.auth0.com/
Google Workspace
Google Workspaceは、カスタムアプリケーション統合のためにSAML 2.0を主にサポートしています。Google Workspace SSOについては、代わりにSAML 2.0セットアップガイドの使用をお勧めします。
GoogleでOIDCが具体的に必要な場合は、Google Cloud Consoleでoauth認証情報を作成できます:
- Google Cloud Console → APIs & Services → Credentialsに移動
- Create Credentials → OAuth client IDをクリック
- Web applicationを選択し、リダイレクトURIとして
https://auth.zenovay.com/api/sso/oauth/callbackを入力 - Client IDとClient Secretを記録
- Zenovayで、Issuer
https://accounts.google.comおよびMetadata URLhttps://accounts.google.com/.well-known/openid-configurationのOpenID Connectプロバイダーを追加
カスタムOIDCプロバイダー
IDプロバイダーがOpenID Connect Discoveryをサポートしている場合:
- Settings → Security → SSOに移動
- Add providerをクリックしてOpenID Connectを選択
- 入力:
- Provider name:プロバイダー名
- Client ID:IDプロバイダーから
- Client Secret:IDプロバイダーから
- Issuer:IDプロバイダーのissuer URL(例:
https://your-idp.com) - Metadata URL:IDプロバイダーのディスカバリードキュメント、通常はissuer URL +
/.well-known/openid-configuration
- Createをクリック
Zenovayは、メタデータドキュメントからIDプロバイダーの認可、トークン、ユーザー情報、JWKSエンドポイントを自動的に読み込みます。個別に入力する必要はありません。
カスタムOAuth 2.0プロバイダー
IDプロバイダーがOIDC自動ディスカバリーをサポートしていない場合、手動エンドポイント設定でOAuth 2.0を使用します:
- Settings → Security → SSOに移動
- Add providerをクリックしてOAuth 2.0を選択
- 入力:
- Provider name:プロバイダー名
- Client ID:IDプロバイダーから
- Client Secret:IDプロバイダーから
- Authorization URL:IDプロバイダーの認可エンドポイント
- Token URL:IDプロバイダーのトークンエンドポイント
- Userinfo URL:IDプロバイダーのユーザー情報エンドポイント
- Createをクリック
セットアップの完了
ドメインを検証
SSOプロバイダーを保存した後、チームがサインインするメールドメインをリンクして、Zenovayが何が何かを知るようにSSOにルーティングします:
- Domain verificationセクションで、メールドメイン(例:
company.com)を入力し、Verify domainをクリック - ZenovayはTXT record DNS(ホストと値)を返します — DNSプロバイダーに追加
- レコードが伝播したら、Check DNSをクリック
- 検証されると、そのメールドメインのユーザーはSSOにリダイレクトされます
接続をテスト
プロバイダーを有効にする前に、クイックチェックを実行できます:
- プロバイダーのアクションメニューを開く(プロバイダー行の**⋯**ボタン)
- Test connectionをクリック
- 成功トーストは、Zenovayが設定した認証情報でIDプロバイダーに到達できることを確認
エンドツーエンドフローを手動で確認することもできます:
- プライベート/シークレットブラウザウィンドウを開く
- auth.zenovay.comに移動
- Sign in with SSOを選択し、検証済みドメインのメールアドレスを入力
- IDプロバイダーで認証
- Zenovayダッシュボードに戻ることを確認
SSOを有効にして実行
- プロバイダー行で、トグルをオンにしてプロバイダーを有効にします
- ワークスペース内のすべてのユーザーにSSOを要求するには、プロバイダーのアクションメニュー(⋯)を開き、Enforce SSOを選択してから確認します
SSOを実施する前に、少なくとも1つのOwnerアカウントがIDプロバイダーの停止時のバックアップとしてメール/パスワードでサインインできることを確認してください。Zenovayは、実施が有効になる前に確認警告を表示します。
ユーザー属性マッピング
標準クレーム
| OIDCクレーム | Zenovayフィールド |
|---|---|
| メールアドレス | |
| given_name | 名 |
| family_name | 姓 |
| sub | ユニーク識別子 |
ジャストインタイムプロビジョニング
新規ユーザーは最初の成功したSSOログイン時に自動的に作成されます:
- 検証済みメールドメインからの自動アカウント作成
- 招待状不要
セキュリティ機能
Zenovayは、OAuth/OIDC用にこれらのセキュリティ対策を自動的に適用します:
- PKCE(Code Exchange用のProof Key) — 認可コード交換を保護
- State parameter — CSRF攻撃を防止
- Nonce validation(OIDC) — トークンリプレイ攻撃を防止
- ID token verification(OIDC) — IDプロバイダーのJWKSエンドポイントを使用してトークンを検証
トラブルシューティング
一般的なエラー
| エラー | 原因 | 解決策 |
|---|---|---|
| Invalid redirect_uri | URLの不一致 | リダイレクトURIが正確にhttps://auth.zenovay.com/api/sso/oauth/callbackであることを確認 |
| Invalid client_id | 認証情報が間違っている | IDプロバイダーダッシュボードでClient IDを確認 |
| Invalid grant | コードの有効期限が切れた | 再度試してください — 認可コードは短命です |
| Token verification failed | 署名エラー | JWKSエンドポイントにアクセス可能であることを確認 |
| State parameter mismatch | セッション問題 | Cookieをクリアしてシークレットウィンドウで試してください |
| OIDC discovery failed | メタデータURL問題 | ブラウザで{metadata-url}を開き、.well-known/openid-configurationドキュメントを返すことを確認 |
証明書の問題
JWKSが失敗する場合:
- JWKS URLがアクセス可能であることを確認
- SSL証明書が有効であることを確認
- ファイアウォールブロックを確認
セキュリティ上の考慮事項
シークレット管理
- クライアントシークレットを安全に保管
- 有効期限前にシークレットをローテーション
- クライアント側のコードでシークレットを公開しない
スコープの制限
最小限のスコープをリクエスト:
openid、email、profileのみ- 不要なアクセスをリクエストしない
リダイレクトURI検証
- IDプロバイダーで完全一致検証を使用
- ワイルドカードを使用しない
- HTTPS必須