このドキュメントでは、OpenID Connect (OIDC) プロトコルを例に、シングルサインオン (SSO) の構成方法について説明します。
IDaaS がサポートする SSO プロトコルの詳細については、「標準プロトコル」をご参照ください。
IDaaS がサポートする OIDC グラントタイプ
次のグラントタイプから 1 つ以上を選択できます。
パターン | 説明 |
クライアントモード client_credentials | クライアント資格情報グラントタイプを使用すると、アプリケーションは このグラントタイプを選択する必要はありません。アプリケーションの API アクセスが有効になっている場合に有効になります。 |
認証コード authorization_code | これは、IDaaS における OIDC アプリケーションの最も一般的なログインモードです。アプリケーションはログインを IDaaS にデリゲートし、IDaaS が返す |
リフレッシュトークン refresh_token |
|
デバイス device | デバイスグラントタイプは、B/S アーキテクチャ以外のアプリケーションを統合するためによく使用されます。デバイスが IDaaS ログインページを直接表示できない場合、ユーザーはブラウザを使用してログインフローを完了させることができます。 |
標準の Web アプリケーションの場合は、認証コードとリフレッシュトークンのグラントタイプを選択します。
Web ベースではないアプリケーションの場合は、デバイスとリフレッシュトークンのグラントタイプを選択します。
IDaaS は現在、他の OIDC グラントタイプをサポートしていません。別のグラントタイプが必要な場合は、リクエストを送信できます。優先度に基づいて実装をスケジュールします。
IDaaS 側の構成
| フィールド | 説明 | 例 |
基本構成 (必須) | 認証モード | アプリケーションのパターンを選択します。 | 複数選択: 認証コード 複数選択: リフレッシュトークン |
ログイン リダイレクト URI | リダイレクト URI のホワイトリスト。アプリケーションがログインをリクエストすると、 | http://www.example.com/oidc/sso http://www.example.com/oidc/sso2 | |
権限付与の範囲 | 詳細については、SSO の概要をご参照ください。 | 選択: すべてのユーザーがアクセス可能 | |
詳細構成 (オプション) | ユーザー情報範囲 scopes | ログイン後、ユーザー情報エンドポイントから取得できるログインユーザーの情報。
| 複数選択: openid 複数選択: email 複数選択: profile |
PKCE | このオプションは、認証コードグラントタイプが選択されている場合に使用できます。有効にすると、認証コードグラントタイプは、より安全な Proof Key for Code Exchange (PKCE) 拡張フローを使用します。 | デフォルトでは無効 | |
code の有効期間 |
|
| |
Code Challenge メソッド | このオプションは PKCE を有効にした後に使用できます。PKCE 拡張における Code Challenge の生成メソッドを指定します。PKCE が無効の場合、このフィールドは表示されません。 | - | |
access_token 有効期間 |
| 2 時間 | |
id_token 有効期間 |
| 10 時間 | |
refresh_token 有効期間 | 新しい | 30 日 | |
id_token の拡張 の拡張 |
説明 ペイロードに追加されたフィールドは公開されます。必要に応じてこの機能を使用してください。 | - | |
id_token 署名アルゴリズム |
| RSA-SHA256 | |
SSO イニシエーター | ユーザーアクセスがアプリケーションによって開始されるか、ポータルからも開始できるかを指定します。 | アプリケーション開始のみ | |
ログイン開始 URL | SSO イニシエーターがポータルとアプリケーションの開始をサポートするように設定されている場合、ログイン開始 URL を入力できます。これは、IDaaS が SSO リクエストを開始するために呼び出すアプリケーション URL です。この URL がリクエストを受信すると、すぐに IDaaS /authorize エンドポイントにリダイレクトする必要があります。 | - |
アプリケーション側の構成
OIDC プロトコルを使用すると、アプリケーションは IDaaS が提供する一連の標準インターフェイスを使用して、ログインと認証のフロー全体を完了できます。
次の表に、これらのインターフェイスについて説明します。
フィールド名 | 説明 | 例 |
発行者 |
| https://xxxxx.aliyunidaas.com.cn/oidc1 |
検出エンドポイント Discovery | IDaaS がサポートするエンドポイント、モード、パラメーターに関する情報を取得するために使用されます。このエンドポイントは公開されています。 | https://xxxxx.aliyunidaas.com.cn/oidc1/.well-known/openid-configuration |
認証エンドポイント Authorization | アプリケーションが SSO ログインを開始するアドレス。 | https://xxxxx.aliyunidaas.com.cn/oidc/authorize |
トークンエンドポイント token | SSO フロー中、アプリケーションが認証 | https://xxxxx.aliyunidaas.com.cn/oidc/token |
署名検証用の公開鍵エンドポイント JWKS |
| https://xxxxx.aliyunidaas.com.cn/oidc1/jwks |
Userinfo エンドポイント Userinfo | ログイン後、このエンドポイントを | https://xxxxx.aliyunidaas.com.cn/oidc1/userinfo |
セッション終了エンドポイント SLO | メインの IDaaS ログインセッションからユーザーをログオフします。 | https://xxxxx.aliyunidaas.com.cn/oidc1/logout |