Auth0上メールアドレスのドメイン別でログインフローを分けてみた(Authentication Profile: Identifier first)

簡単にログインフローがDomain/Connection別で分岐するように設定してみた

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

概要

Auth0上ログインフローをカスタマイズする方法はいくつ(Actions、Rulesなど)ありますが、普通のUser DBとEnterprise Connection(AzureAD、Google Workspaceなど)のログインフローを分けたい場合、Authentication ProfileのIdentifierは非常に使いやすいと思うので、試してみたいと思います。

公式サイトのリンク

事前準備

  • ログインをデフォルトのNew Universal Loginに設定し、Customize Login Pageとかはオフにする
  • Web App(こちらが使ったのはQuick StartのSPA)
  • User-Passwordのデータベースとユーザーアカウント(こちらが使ったのはデフォルトのもの)
  • Enterprise Connectionとユーザーアカウント(こちらが使ったのはテスト用のAzureAD)

手順

まず、事前に用意したアプリに「普通のUser-Password」と「Enterprise Connection」をオンにします。

 

そして、ダッシュボードで、Authentication -> Authentication Profileに入って、Identifier Firstを選んで、セーブします。

 

Authentication -> Enterpriseに事前準備した「Enterprise Connection」に入って、それに関連するドメインを追加します。

 

Web Appを起動し、「Enterprise Connection」のメールアドレスを入力したら、識別され、それで「Enterprise Connection」の元のサイトにリダイレクトされ、ログインする形になります。

 

普通のユーザーDBのメールアドレスを入力したら、画面が「メールアドレス + パスワード」の形に変わって、そのままログインする形になります。

 
 
 
以上です。