カスタムOAuth アプリケーションの作成
AzureAD をIdP としてOAuth 経由でDomino への認証を行うには、カスタムOAuth アプリケーションを作成する必要があります。
Azure AD アプリの登録および設定
Azure ポータルで、以下の手順を実行します。
- アプリの登録をクリックします。
- このオプションがAzure ポータルのホームページに表示されていない場合は、検索ボックスで「アプリの登録」を検索するか、その他のサービス -> ID -> ID 管理 -> アプリの登録に移動します。
- + 新規登録をクリックします。
- 名前を入力し、サポートされているアカウントの種類を選択します。
- リダイレクトURI(省略可能)で、1つ目のドロップダウンでWeb オプションを選択してローカルのリダイレクトURL を入力します。例:http://localhost:8080
- 登録をクリックします。新しく作成されたアプリの概要画面が開きます。
- アプリケーション(クライアント)ID とディレクトリ(テナント)ID を控えておきます。これらは後で使用します。
- 証明書またはシークレットの追加をクリックします。証明書とシークレットページが表示されます。
- + 新しいクライアントシークレット -> 追加をクリックします。
- 新しく作成されたクライアントシークレットの値を控えておきます。この値は後で本製品 の設定に使用します。
- Warning: この値は、クライアントシークレットを最初に作成したときにのみ表示されます。
- サイドバーにある管理 -> API の公開に移動します。
- 「アプリケーションID のURI」の横にある追加をクリックします。"api://" で始まるURI(例:api://mydominorest)を指定し、保存をクリックします。
- + スコープの追加をクリックします。スコープの追加ペインが表示されます。
- 本製品 に付与したいスコープの1つに合わせてフォームに記入し、スコープの追加をクリックして登録を完了します。利用可能なスコープについては、Domino ドキュメントのスコープに関する項目を参照してください。
- 有効にしたいスコープごとに、前述の2つの手順を繰り返します。
- サイドバーの管理 -> API のアクセス許可をクリックします。
- + アクセス許可の追加 -> 所属する組織で使用しているAPI をクリックして、アプリケーション名を選択します。該当するアプリケーションが表示されない場合は、検索ボックスにアプリケーション名を入力してください。API アクセス許可の要求メニューが表示されます。
- 「アクセス許可を選択する」の下で、チェックボックスを選択して定義したスコープを有効にし、アクセス許可の追加をクリックして選択を確定します。
- サイドバーの管理 -> 所有者をクリックします。
- + 所有者の追加をクリックします。希望するユーザーのチェックボックスを選択して選択をクリックします。
- サイドバーの管理 -> 認証をクリックします。
- 「暗黙的な許可およびハイブリッドフロー」で、アクセストークン(暗黙的なフローに使用)チェックボックスを選択して保存をクリックします。
- サイドバーにある管理 -> マニフェストに移動します。
- マニフェストの"id" の値を控えておきます。この値は後で使用します。
- accessTokenAcceptedVersion の値をnull から2に変更して保存をクリックします。
- サイドバーの概要をクリックしてアプリケーションの概要ページに戻り、エンドポイントをクリックします。
- 後で使用するために、次のURL の値を控えておきます。
- OAuth 2.0 authorization endpoint (v2)
- OAuth 2.0 token endpoint (v2)
- OpenID Connect metadata document
Domino REST API の設定
Domino サーバーで、notesdata フォルダ内のkeepconfig.d フォルダにJSON ファイルを作成します。ファイルに以下の内容を入力します。
{ "jwt": { "your_filename": { "active": true, "providerUrl": "https://login.microsoftonline.com/[tenantid]/v2.0/.well-known/openid-configuration", "aud": "[application id]", "iss": "[issuer URL]", "algorithm": "RS256" } } }
このサンプルの内容を以下のように修正します。
- "your_filename" を、作成したJSON ファイルの名前に置き換えます。ただし、".json" 拡張子は除きます。二重引用符は削除しないでください。
- [tenantid] を自身のテナントID に置き換えます。これは、Azure アプリケーションの概要ページにある「ディレクトリ(テナント)ID」です。
- [application id] を、控えておいたアプリケーションの概要ページのアプリケーション(クライアント)ID の値に置き換えます。
- [issuer URL] を、上記のproviderUrl に紐づく"issuer" URL に置き換えます。
- これを見つけるには、(テナントID を挿入した)providerUrl をブラウザで開き、"issuer" 属性の値を探します。