PingOneでSSOを設定する¶
PingOneはOIDC準拠です。注意が必要な値が2つあります:すべてのエンドポイントURLに現れるEnvironment IDと、北米・欧州・カナダ・アジア太平洋・オーストラリアのテナントで異なる地域ドメインです。
このガイドはPingOne側(アプリケーションの作成とdignaが必要とする値の収集)を扱います。digna側の設定 — dashboard_config.toml、テストとトラブルシューティング — はプロバイダに関係なく同じで、Single Sign-On Overviewに記載されています。
開始前に¶
| 要件 | 補足 |
|---|---|
| PingOneの役割 | 対象環境でのEnvironment AdminまたはIdentity Data Admin |
| 環境 | dignaユーザーが所属するPingOne環境 |
| dignaのリダイレクトURI | ログイン後にユーザーが戻るURL、例: https://digna.yourdomain.com/oidc/callback |
ステップ1: アプリケーションを作成する¶
- PingOneの管理コンソールにサインインし、環境を選択します
- Applications → Applications に移動します
- + ボタンをクリックします
- Application Name に
dignaと入力します - OIDC Web App を選択します
- Save をクリックします
Single-Page AppではなくOIDC Web Appを選択する
Single-Page App と Native App はシークレットを保持できないパブリッククライアントを作成します。dignaはバックエンドで認可コードを交換するため、機密クライアントである OIDC Web App タイプが必要です。
ステップ2: リダイレクトURIを設定する¶
- アプリケーションの Configuration タブを開きます
- 鉛筆アイコンをクリックして編集します
- Response Type が Code、Grant Type が Authorization Code になっていることを確認します
- Redirect URIs にdignaのコールバックURLを入力します:
- Token Endpoint Authentication Method を Client Secret Post または Client Secret Basic に設定します
- Save をクリックします
ステップ3: アプリケーションを有効にする¶
アプリケーションの行または詳細パネルで、トグルを enabled に切り替えます。
新しいアプリケーションは初めは無効になっています
PingOneはアプリケーションを無効な状態で作成します。無効なアプリケーションは認可ステップでトグルについて言及しないエラーを発生させるため、他のデバッグを始める前にこの点を確認する価値があります。
ステップ4: スコープを付与する¶
- Resources タブを開きます
openidが付与されていることを確認し、OpenID Connect リソースからprofileとemailを追加します- Save をクリックします
ステップ5: ユーザーを割り当てる¶
- Access タブを開きます
- dignaを使用できるユーザーが属するポピュレーションまたはグループを追加します
- Save をクリックします
ステップ6: 認証情報とEnvironment IDを取得する¶
Configuration タブで General を展開します:
- Client ID →
DIGNA_OIDC_CLIENT_IDになります - Client Secret →
DIGNA_OIDC_CLIENT_SECRETになります(目のアイコンをクリック) - Environment ID → ディスカバリURLに使用します
同じタブに準備済みの OIDC Discovery Endpoint が表示されており、自分で組み立てる代わりに直接コピーできます。
ステップ7: Discovery URLを作成する¶
環境IDと地域のドメインを置き換えます:
| リージョン | ドメイン |
|---|---|
| 北米 | auth.pingone.com |
| ヨーロッパ | auth.pingone.eu |
| カナダ | auth.pingone.ca |
| アジア太平洋 | auth.pingone.asia |
| オーストラリア | auth.pingone.com.au |
ヨーロッパ環境の例:
入力するよりコピーする
地域ドメインはPingOne統合で最も多いミスであり、誤ったリージョンだと有益なメッセージではなく404が返ります。ステップ6で表示される OIDC Discovery Endpoint の値を使用してください。
ステップ8: dignaを設定する¶
dashboard/dashboard_config.toml¶
config.toml¶
[oidc.pingone]
DIGNA_OIDC_CLIENT_ID = "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
DIGNA_OIDC_CLIENT_SECRET = "<the client secret copied in Step 6>"
DIGNA_OIDC_REDIRECT_URI = "https://digna.yourdomain.com/oidc/callback"
DIGNA_OIDC_CONFIGURATION_URL = "https://auth.pingone.eu/12345678-1234-1234-1234-123456789012/as/.well-known/openid-configuration"
両ファイルの key は一致している必要があります — この例では pingone。
ステップ9: テスト¶
バックエンドとウェブサーバを再起動し、ダッシュボードを開きます。チェックリスト全体は ログインのテスト を参照してください。
PingOneのトラブルシューティング¶
Discovery URLで404エラー¶
地域ドメインまたはEnvironment IDが間違っています。アプリケーションのConfigurationタブに表示される OIDC Discovery Endpoint と比較してください。
NOT_FOUND またはアプリケーションが無効¶
ステップ3のアプリケーショントグルがオフのままです。
リダイレクトURIの不一致¶
PingOneは完全な文字列を照合します。末尾のスラッシュやスキームの違いがないか Configuration → Redirect URIs を確認してください。
ログインは成功するが、メールクレームがdignaに届かない¶
Resources タブで email と profile スコープが付与されていません。
ユーザーがアプリケーションを表示できない¶
Access タブでポピュレーションまたはグループにアクセスが付与されていません。
関連情報¶
- シングルサインオン概要 — 設定リファレンス、テスト、一般的なトラブルシューティング
- PingOne: OIDC アプリケーション設定