iconguccigu blog

2025/06/19
[Amazon Cognito] 複数外部IdPがあるとそれだけ Managed Login に選択ボタンが表示されるのをやめたい

ここ最近、業務で Amazon Cognito を使った SSO 対応をしてました

対象のアプリケーションでは

  • マルチテナントである
  • テナントの中には自社の IDaaS (Oktaとか) を使いたいところがある
  • ログインには Managed Login を使用する

という状況でした
つまり、1つのユーザプールに対して複数の外部IdPを連携させる必要がありました

その際に問題だったのがデフォルトだと連携させた分だけ
Managed Login○○ を使ってログイン といった感じのプロバイダー選択ボタンが表示されてしまうことでした

Google とかのソーシャルプロバイダーだと別にいいのですが、
IDプロバイダーだと例えば全テナントが Okta 使ってたとしても全テナント分のログインボタンができてしまいます
(組織ごとに別プロバイダーなので仕方ない)

これでは普通にまずいのでどうにかする必要がありました

■ Managed Login の ドメイン検索入力 を使う

ドキュメントを見ていると Managed Loginドメイン検索入力 という設定がありました
ユーザが入力したメールアドレスによって、自動でプロバイダーを選択してくれる機能です

まずはコンソールからプロバイダーにその企業のドメインを識別子として設定します

そして、Managed Loginの 認証動作設定カテゴリでプロバイダー表示をドメイン検索入力にします
すると、Managed Login ではプロバイダー選択のボタンはなくなり、メールアドレスの入力のみになります

これにより、メールアドレスのドメイン部分でプロバイダーを自動的に切り替えてくれるようになります

■ 参考

※ SAML の章に書いてありましたが OIDC でもいけました