Okta
オクタ
はじめに
Auth0のユニバーサルログイン機能を用いることで、ユーザがアプリケーションへログインを行うたびに、Auth0で管理された認証サーバへリダイレクトし、ユーザ認証を行わせることが可能となります。ユニバーサルログインは、埋め込み型ログインと異なり、以下の様な利点があります。
・アプリケーション側でのログイン画面実装が不要
・ソーシャルログインやMFAの追加をAuth0側機能により容易に実現可能
・管理された認証サーバが提供する画面機能を用いるため、アプリケーション側での改修を行うことなくカスタマイズ可能
本ページでは、Auth0のユニバーサルログイン機能で、実施可能な内容・項目についてご紹介します。
前提
本ページ記載の機能及び設定に関する内容は、2023年4月現在の情報となります。
NewとClassicのエクスペリエンスの違い
Auth0のユニバーサルログインにてユーザ認証を行う場合、「New Universal Login」と「Classic Universal Login」の2種類から選択可能です。利用の選択は、Auth0管理画面のBranding > Universal Loginから行います。
・New Universal Login (以下、New版)
新たな画面デザイン及びログインフローとして2019年にリリースされました。
JavaScriptを必要としないため、動作の軽量化が実現されています。また、WebAuthnやEnterprise Connectionへの対応、言語のローカリゼーション等、実現機能面においても向上が図られています。
※ただし、一部の機能はClassic版のみ利用可能であることにご注意ください。
・Classic Universal Login (以下、Classic版)
従来から提供されているユニバーサルログイン機能です。
JavaScriptにてコントロールされており、幅広いカスタマイズオプションが提供されています。
ユニバーサルログインにおけるNew版とClassic版の主な相違点を一覧化しました。相違点の詳細は、以下をご確認ください。
https://auth0.com/docs/authenticate/login/auth0-universal-login/new-universal-login-vs-classic-universal-login
機能 | New版 | Classic版 |
HTMLの変更なしで新機能を適用 |
○ |
× |
継続的な開発及び新機能追加 |
○ |
× |
軽量なHTML |
○ |
× |
JavaScript利用 |
× |
○ |
ページカスタマイズ |
○(ページテンプレートによる編集、またはノーコードによる色、ロゴ、表示文言等の変更) |
○(HTMLを用いたログイン、MFA及びパスワードリセット画面の編集) |
パスワードレスでのログイン |
○ |
○(SMSもしくはメール認証のみ) |
デバイス/生体認証を用いたWebAuthn利用 |
○ |
× |
WCAGへの対応 |
○ |
× |
Organizations機能への対応 |
○ |
× |
サインアップ時の利用規約への同意取得 |
× |
○ |
サインアップ時のカスタムフィールド |
× |
○ |
ローカリゼーションへの対応 |
○(https://auth0.com/docs/universal-login/text-customization記載の言語に対応可) |
△(ログイン画面のみ可) |
全てのページにローカリゼーションの適用 |
○ |
× |
Eメールを用いたMFAへの対応 |
○ |
× |
音声電話を用いたMFAへの対応 |
○ |
× |
DuoによるMFAへの対応 |
○(Duoが唯一のMFA要素として有効な場合) |
○ |
Enterprise Connection機能による外部IdP認証用ボタン表示 |
○ |
× |
セルフパスワードリカバリーの無効化 |
○ |
○ |
パスワードリセット及びサインアップにおけるカスタムURLの利用 |
○(ページテンプレートの利用) |
○ |
なお、現在及び将来的なユニバーサルログインの開発作業は、New版向けに実施されます。そのため、ここからは、New版をメインとしてユニバーサルログインのカスタマイズをご紹介します。
ノーコーティングでのログイン画面のカスタマイズ
Auth0では、ノーコーティングにて以下項目が設定可能です。非常に多くの設定項目があり、細かい部分までカスタマイズできる点が特徴です。
Styles | 設定項目 | デフォルト設定 |
Colors(色) | Primary button(プライマリボタンの色) | #635dff |
Primary button label(プライマリボタンのラベル色) | #ffffff | |
Secondary button border(セカンダリボタンの枠線色) | #c9cace | |
Secondary button label(セカンダリボタンのラベル色) | #1e212a | |
Base Focus Color(フォーカス時の色) | #635dff | |
Base Hover Color(ホバー時の色) | #000000 | |
Links & focused components(リンクのテキスト色) | #635dff | |
Header(ヘッダーのタイトル色) | #1e212a | |
Body text(本文のテキスト色) | #1e212a | |
Widget background(ウィジェットの背景色) | #ffffff | |
Widget border(ウィジェットの枠線色) | #c9cace | |
Input labels & placeholders(入力フィールドのラベルとプレースホルダの色) | #65676e | |
Input filled text(入力時のテキスト色) | #000000 | |
Input border(入力フィールドの枠線色) | #c9cace | |
Input background(入力フィールドの背景色) | #ffffff | |
Icons(アイコンの色) | #65676e | |
Error(エラーメッセージの色) | #d03c38 | |
Success(サクセスメッセージの色) | #13a688 | |
Fonts(フォント) | Font URL(フォントファイル ※URL指定) | 設定無し |
Reference text size(基準のフォントサイズ) | 16px | |
Title(タイトルのフォントサイズ比率) | 150% | |
Subtitle(サブタイトルのフォントサイズ比率) | 87.5% | |
Body text(本文のテキストのフォントサイズ比率) | 87.5% | |
Buttons text(ボタン文字のフォントサイズ比率) | 100% | |
Input Labels(入力フィールドのラベル文字のフォントサイズ比率) | 100% | |
Links(リンク文字のフォントサイズ比率) | 87.5%(太文字) | |
Links style(リンク表示のスタイル) | Normal | |
Borders(枠線) | Button border weight(ボタンの枠線の太さ) | 1px |
Buttons style(ボタンのスタイル) | Rounded corners | |
Button borders radius(ボタンの枠線の丸み) | 3px | |
Input border weight(入力フィールドの枠線の太さ) | 1px | |
Inputs style(入力フィールドの枠線のスタイル) | Rounded corners | |
Inputs border radius(入力フィールドの枠線の丸み) | 3px | |
Widget corner radius(ウィジェットのコーナーの丸み) | 5px | |
Widget border weight(ウィジェットの枠線の太さ) | 0px | |
Show widget shadow(ウィジェットの影の表示有無) | enable | |
Widget(ウィジェット) | Logo position(ロゴの位置) | Align center |
Logo url(ロゴファイル ※URL指定) | 設定無し | |
Logo height(ロゴの大きさ) | 52px | |
Header text alignment(ヘッダーのテキスト位置) | Align center | |
Social buttons layout(ソーシャルボタンの位置) | On bottom | |
Page background(ページ背景) | Page Layout(ページの位置) | Align center |
Background color(背景の色) | #000000 | |
Background image url(背景画像ファイル ※URL指定) | 設定無し |
上記設定は、Auth0の管理画面のBranding > Universal Login > Customize Your Loginで設定できます。
以下は、「Logo」及び「Primary bottom Color」の設定変更例です。
<Logo画像の変更>
< Primary bottom Colorを#635dffから#FF0000へ変更>
カスタマイズの詳細は、以下をご確認ください。
https://auth0.com/docs/customize/universal-login-pages/customize-new-universal-login-with-the-no-code-editor
[補足]
Classic版では、以下のみ設定可能です。
•Company Logo(ロゴ)
•Primary Color(メイン色)
•Page Background Color(ページの背景色)
APIを用いた画面テキスト文言のカスタマイズ
New版では、ログイン、MFA登録、パスワード変更等のページに表示されるテキスト文言の編集方法として、以下の2つが用意されています。
・Auth0管理画面上からの編集
- 2023年1月9日に機能追加されました。手順の詳細は、以下をご確認ください。
Customize New Universal Login Text Prompts – Auth0 Docs
・Auth0 Management APIを利用した編集
本ページでは、Auth0 Management APIを利用した編集方法をご紹介します。
使用するAPIのエンドポイント及び必要なパラメータは、以下の通りです。
・エンドポイント: /api/v2/prompts/{prompt}/custom-text/{language}
・メソッド: PUT
・必要なパラメータ
‐prompt(ログインフロー内の特定のステップ)
‐language(利用言語)
‐body(変更対象とテキスト文言を記載)
形式(JSON):{ "SCREEN": { "TEXT_ID": "text message " } }
SCREEN:設定するpromptの画面
TEXT_ID:SCREEN毎に設定するテキスト変更部分
text message:TEXT_IDで指定した箇所に設定するテキスト文言
APIコールに必要な上記パラメータの詳細は、以下をご確認ください。
https://auth0.com/docs/customize/universal-login-pages/customize-login-text-prompts
例として、Auth0 Management APIを用いてログイン画面のタイトルを変更する手順をご紹介します。
(1) Auth0 Management APIのアクセストークンを発行するため、Auth0管理画面のApplications > APIs > Auth0 Management APIをクリック
(2)API Explorerタブへ遷移、[Create & Authorize Test Application]をクリック
(3)発行されたアクセストークンのToken部分をコピー
(4)Auth0 Management API Explorer(https://auth0.com/docs/api/management/v2)を開き、画面左上の[SET API TOKEN]をクリック
(5)API Token欄に(3)にてコピーしたアクセストークンをペーストし、[SET TOKEN]ボタンをクリック
(6)画面左タブに、「DOMAIN」と「API TOKEN」が追加された事を確認
(7)画面下部の「Set custom text for a Specific prompt」部分まで移動
(8)APIコールに必要なパラメータを以下の通り設定し、「TRY」をクリック
※以下のパラメータ指定により、ログイン画面にてデフォルトのタイトル「ようこそ」が「ログイン画面」へと変更されます。
・prompt:login
・language:ja
・body:{"login": {"title":"ログイン画面"}}
(9)APIコール結果が表示されるので、RESPONSE CODEが「200」であることを確認
※200以外が表示された場合は失敗です。エラー内容を参考に対処してください。
(10)変更後のログイン画面を確認するため、Auth0管理画面のAuthentication > Authentication Profileへ遷移し、[Try]ボタンをクリック
(11)ログイン画面のタイトルが「ログイン画面」に変更されたことを確認
また、他の例として、ログイン画面のログインボタン標記を「続ける」から「ログイン」へ変更する際の設定内容を以下に示します。
・body内容
{"login": {"buttonText":"ログイン"}}
・設定画面
・変更前後の画面
[補足①]
curlコマンドにてAPIコールを実行する場合は、以下の通り
実行すべきcurlコマンドは、Auth0 Management API ExplorerにおけるTryボタン横の[get curl command]をクリックすることで取得可能
[補足②]
Classic版では、Auth0管理画面のBranding > Universal Login > Advanced Optionsにて設定でき、「Customize *** Page」部分をONにすることで有効化。New版を利用している場合においても、「Customize *** Page」部分の内容が優先されるので、設定の際は注意が必要
なお、Classic版のログイン画面はAuth0 Lockを用いて実装されています。Auth0 Lockの詳細については、[Auth0 Lockについて]でご紹介しています。
おわりに
Auth0のユニバーサルログイン機能を用いることで、コーティングによる変更を行うことなく、GUI操作で直感的にカスタマイズ可能です。画面のテキスト文言の変更についても、APIを用いて簡単に実装できます。
是非、こちらのユニバーサルログイン機能にて、ログイン画面のカスタマイズを行ってみてください。
お問い合わせ・資料請求
株式会社マクニカ Okta 担当
- TEL:045-476-2010
- E-mail:okta@macnica.co.jp
平日 9:00~17:00