組織IDプロバイダー

🚧

組織IDプロバイダーをご利用の際には、事前にAnnofabサポート窓口への問い合わせが必要です。
お問い合わせ方法などの詳細は、下記の「事前作業 (Annofabサポート窓口へお問い合わせ)」をご覧ください。

組織IDプロバイダーは、OpenID Connectを用いて外部IDプロバイダーと連携し、外部IDプロバイダーを用いてアカウントの登録、Annofabへのログインを行う機能です。
以下、組織IDプロバイダーを設定するための作業手順について説明します。

前提条件

  • 利用するIDプロバイダーがOpenID Connectの、認可コードフロー(response_type=code&scope=openid)に対応している
  • OpenID Connect を通してユーザーの表示名及びメールアドレスを取得することができる
    • このメールアドレスはAnnofabからの連絡に使用するため、ユーザーが受信可能である必要があります
    • これらの属性が取得できない場合、アカウント登録時にエラーが発生します

事前作業 (Annofabサポート窓口へのお問い合わせ)

組織IDプロバイダーを利用するには、事前に問い合わせが必要です。Annofabの問い合わせフォームから、組織IDプロバイダーの利用を希望する旨の内容でお問い合わせください。

組織IDプロバイダーを利用するにあたり、Annofabサポート窓口による事前設定が必要なため、利用を希望するAnnofab組織についてもあわせてお伝えいただけますと、その後の手続きがスムーズです(下記画像のYOUR-ORGANIZATIONは、利用を希望するAnnofab組織名に読み替えてください)。

作業手順

IDプロバイダーで設定を行う

IDプロバイダーとして利用しているサービスにより手順が異なりますが、一般的には以下のような作業を行います。

  • クライアントID及びクライアントシークレットを発行してメモ
  • issuerを確認してメモ
  • 許可されたリダイレクトURIの設定
    • 設定値としてhttps://login.annofab.com/oauth2/idpresponseを指定
  • 認可コードフロー(PKCE無し)でIDトークンが発行できるように設定
    • 認可コードフローを有効化
    • scopeopenidを許容

以下では、Amazon Cognito user pools及びMicrosoft Entra IDを用いた設定例を説明します。

Amazon Cognito user poolsを用いた設定例

アプリケーションクライアントを作成する

  1. 認証に利用するuser poolを開く
  2. アプリケーションの統合(App Integration)を選択
  1. アプリケーションクライアントを作成(Create app client)を選択
  1. アプリケーションタイプその他を選択し、適当なアプリケーションクライアント名を入力
  1. クライアントのシークレットを生成するを選択
  1. 許可されているコールバック URLにhttps://login.annofab.com/oauth2/idpresponseを入力
  1. OpenID Connect のスコープをOpenIDのみにする
  1. 属性の読み取りおよび書き込み許可emailnameの読み取り許可を行う
  1. アプリケーションクライアントを作成を押下

必要な設定値をメモ

  1. 作成したアプリケーションクライアントを開き、クライアントIDとクライアントシークレットをメモ
  1. issuerをメモ
    • issuerは以下のようなURLになります
      • https://cognito-idp.${region}.amazonaws.com/${user pool id}
    • ユーザープールのトークン署名キー URL/.well-known/jwks.jsonより前の部分です
Microsoft Entra IDを用いた設定例

アプリケーションを作成する

  1. Microsoft Entra 管理センターを開く
  2. アプリケーション -> アプリの登録 -> 新規登録を開く
  1. 適当なアプリケーション名を入力し、必要であればサポートされているアカウントの種類を変更する
  2. リダイレクトURIの項にWeb https://login.annofab.com/oauth2/idpresponseを入力
  1. 登録ボタンを押下

クライアントシークレットを発行

  1. 作成したアプリケーションの証明書とシークレットを開く
  1. 新しいクライアントシークレットを押下し、クライアントシークレットを追加する
  1. 追加された値をクライアントシークレットとしてメモしておく

必要な設定値をメモ

  1. アプリケーションの概要を開きアプリケーション(クライアント)IDをクライアントIDとしてメモ
  2. issuerをメモ
    • issuerは以下のようなURLになります
      • https://login.microsoftonline.com/${テナントID}/v2.0
    • エンドポイント->OpenID Connect メタデータ ドキュメント/.well-known/openid-configurationより前の部分です
    • OpenID Connect メタデータ ドキュメントエンドポイントが返すJSONのissuerの値でもあります

組織IDプロバイダーを登録する

登録画面を開く

組織IDプロバイダーを登録するAnnofab組織のIDプロバイダータブを開き、IDプロバイダーを登録を押下してください。
IDプロバイダータブが表示されていない場合、事前作業の項を確認の上、Annofabサポート窓口までお問い合わせください。

必要な情報を入力して登録する

適当なIDを入力し、メモしておいたクライアントID、クライアントシークレット、issuerを入力してください。
必要であれば属性マッピングを調整してください。

📘

属性マッピング

ユーザーの表示名やメールアドレスに、 OpenID Connect Core 1.0 における UserInfo Endpoint のレスポンスのうち、どのクレームを使うかを指定します。デフォルトで設定されている email および name は標準のクレームであるため、通常変更する必要はありません。

例えばメールアドレスを primary_email というクレームから参照させたい場合は、属性マッピングの email 欄に primary_email を指定します。

必要な情報を入力したらIDプロバイダーを登録を押下してください。

サインアップURLからアカウント登録を行う

組織IDプロバイダーのサインアップURLからログインを行い、アカウント登録を行ってください。

作成したアカウントにログインを行う

作成したアカウントには、 https://annofab.com/login から、組織IDプロバイダーでログインでログイン可能です。
また、サインアップURLからも同様にログインを行うことができます。