# シングルサインオン (SSO) 連携

NocoBaseは、包括的なシングルサインオン（SSO）ソリューションを提供しており、複数の主要な認証プロトコルに対応し、企業の既存のID認証システムとシームレスに連携できます。

## 概要

シングルサインオンは、ユーザーが1組の認証情報で複数の関連する独立したシステムにログインできるようにする機能です。ユーザーは一度ログインするだけで、認証されたすべてのアプリケーションにアクセスでき、ユーザー名とパスワードを繰り返し入力する必要がありません。これにより、ユーザーエクスペリエンスが向上するだけでなく、システムセキュリティと管理効率も強化されます。

## サポートされている認証プロトコル

NocoBaseは、プラグインを通じて以下の認証プロトコルと方式をサポートしています。

### エンタープライズSSOプロトコル

- **[SAML 2.0](/auth-verification/auth-saml/index.md)**: XMLベースのオープン標準で、企業レベルのID認証に広く利用されています。企業のIDプロバイダー（IdP）との連携が必要なシナリオに適しています。

- **[OIDC (OpenID Connect)](/auth-verification/auth-oidc/index.md)**: OAuth 2.0をベースとしたID認証レイヤーで、最新の認証および認可メカニズムを提供します。主要なIDプロバイダー（Google、Azure ADなど）との連携をサポートしています。

- **[CAS (Central Authentication Service)](/auth-verification/auth-cas/index.md)**: イェール大学が開発したシングルサインオンプロトコルで、大学や教育機関で広く利用されています。

- **[LDAP](/auth-verification/auth-ldap/index.md)**: 分散型ディレクトリ情報サービスへのアクセスと維持に使用される軽量ディレクトリアクセスプロトコルです。Active Directoryやその他のLDAPサーバーとの連携が必要なシナリオに適しています。

### サードパーティプラットフォーム認証

- **[WeCom（企業WeChat）](/auth-verification/auth-wecom/index.md)**: WeCom（企業WeChat）のQRコードログインと、WeComアプリ内でのシームレスな認証に対応しています。

- **[DingTalk](/auth-verification/auth-dingtalk/index.md)**: DingTalkのQRコードログインと、DingTalkアプリ内でのシームレスな認証に対応しています。

### その他の認証方式

- **[SMS認証コード](/auth-verification/auth-sms/index.md)**: 携帯電話のSMSを利用した認証コードログイン方式です。

- **[ユーザー名/パスワード](/auth-verification/auth/index.md)**: NocoBaseに組み込まれている基本的な認証方式です。

## 連携ステップ

### 1. 認証プラグインのインストール

お客様の要件に応じて、プラグインマネージャーから該当する認証プラグインを見つけてインストールしてください。ほとんどのSSO認証プラグインは、別途購入またはサブスクリプションが必要です。

![auth_sso-2025-11-24-08-26-46](https://static-docs.nocobase.com/auth_sso-2025-11-24-08-26-46.png)

例：SAML 2.0認証プラグインをインストールする場合：

![](https://static-docs.nocobase.com/6a12f3d8073c47532a4f8aac900e4296.png)

またはOIDC認証プラグインをインストールする場合：

![](https://static-docs.nocobase.com/202411122358790.png)

### 2. 認証方式の設定

1. **システム設定 > ユーザー認証**ページに移動します。

![](https://static-docs.nocobase.com/202411130004459.png)

2. **認証方式を追加**をクリックします。
3. インストール済みの認証タイプ（例：SAML）を選択します。

![](https://static-docs.nocobase.com/5076fe56086b7799be308bbaf7c4425d.png)

またはOIDCを選択します：

![](https://static-docs.nocobase.com/1efbde1c0e2f4967efc1c4336be45ca2.png)

4. プロンプトに従って関連パラメーターを設定します。

### 3. IDプロバイダーの設定

各認証プロトコルには、対応するIDプロバイダー情報の構成が必要です。

- **SAML**: IdPメタデータ、証明書などを設定します。

![](https://static-docs.nocobase.com/976b66e589973c322d81dcddd22c6146.png)

- **OIDC**: クライアントID、クライアントシークレット、ディスカバリーエンドポイントなどを設定します。

![](https://static-docs.nocobase.com/202411130006341.png)

- **CAS**: CASサーバーアドレスを設定します。
- **LDAP**: LDAPサーバーアドレス、バインドDNなどを設定します。
- **WeCom/DingTalk**: アプリケーション認証情報、Corp IDなどを設定します。

### 4. ログインテスト

設定が完了したら、まずテストを行うことをお勧めします。

1. 現在のセッションからログアウトします。
2. ログインページで設定済みのSSO方式を選択します。

![](https://static-docs.nocobase.com/74963865c9d36a294948e6adeb5b24bc.png)

3. IDプロバイダーの認証プロセスを完了します。
4. NocoBaseへのログインが成功するかどうかを確認します。

## ユーザーマッピングとロール割り当て

SSO認証が成功すると、NocoBaseはユーザーアカウントを自動的に処理します。

- **初回ログイン時**：新しいユーザーアカウントを自動的に作成し、IDプロバイダーから基本情報（ニックネーム、メールアドレスなど）を同期します。
- **再ログイン時**：既存のアカウントを使用してログインし、ユーザー情報の更新を同期するかどうかを選択できます。
- **ロール割り当て**：デフォルトのロールを設定したり、ユーザー情報内のロールフィールドを通じてロールを自動的に割り当てたりできます。

## セキュリティに関する推奨事項

1.  **HTTPSの使用**：NocoBaseがHTTPS環境にデプロイされていることを確認し、認証データの転送を保護します。
2.  **証明書の定期的な更新**：SAML証明書などのセキュリティ認証情報を適時に更新およびローテーションします。
3.  **コールバックURLのホワイトリスト設定**：IDプロバイダーでNocoBaseのコールバックURLを正しく設定します。
4.  **最小権限の原則**：SSOユーザーに適切なロールと権限を割り当てます。
5.  **監査ログの有効化**：SSOログインアクティビティを記録および監視します。

## トラブルシューティング

### SSOログインに失敗しましたか？

1.  IDプロバイダーの設定が正しいか確認します。
2.  コールバックURLが正しく設定されているか確認します。
3.  NocoBaseのログで詳細なエラー情報を確認します。
4.  証明書とキーが有効か確認します。

### ユーザー情報が同期されませんか？

1.  IDプロバイダーから返されるユーザー属性を確認します。
2.  フィールドマッピングの設定が正しいか確認します。
3.  ユーザー情報同期オプションが有効になっているか確認します。

### 複数の認証方式を同時にサポートするには？

NocoBaseは複数の認証方式を同時に設定することをサポートしており、ユーザーはログインページで適切な方式を選択してログインできます。

## 関連リソース

- [ユーザー認証ドキュメント](/auth-verification/auth/index.md)
- [APIキー認証](/integration/api-keys/index.md)
- [ユーザーと権限の管理](/plugins/@nocobase/plugin-users/index.md)
