Lock認証モード
Lockは、2つの異なるモードで機能します。デフォルトモードはリダイレクトモードです。このモードでは、ユーザーは、認証のためにリダイレクトされ、その後アプリケーションに戻されます。2番目のモードのポップアップモードでは、ポップアップウィンドウにより、ユーザーはアプリケーションを離れることなく、IDプロバイダーで認証できます。
リダイレクトモード
リダイレクトモードを使用したIdPボタン(たとえば、Facebook)をクリックすると、すぐに Facebookにリダイレクトされます。リダイレクトモードは、Lockがデフォルトで、ほとんどのユースケースに推奨されるモードです。(たとえばこの例ではFacebookへの)ログインに成功したら、Facebookは(Auth0を通して)ユーザーを再びアプリにリダイレクトします。参考資料のほとんどの例またはサンプルは、リダイレクトモードを採用しています。
ポップアップモード
IdPボタン(たとえば、Facebook)をクリックしてポップアップ(新しいタブまたはウィンドウ)が開いた場合は、ポップアップモードが使用されていることを意味します。そのポップアップで、Facebookページが表示されます。Facebookへのログインに成功したら、ポップアップが閉じ、Webアプリはユーザーが認証されたことを認識します。Webアプリは、別のページへはリダイレクトされません。
ポップアップモードのLockの実装は、デフォルトからリダイレクト
オプションを変更するだけです。
var lock = new Auth0Lock(
'{yourClientId}',
'{yourDomain}',
{
auth: {
redirect: false
}
}
);
Was this helpful?
Lockがポップアップモードで、アプリケーションに埋め込まれているときは、多要素認証(MFA)がサポートされません。さらに、ポップアップモードは、ユニバーサルログインでは機能しません。
複数アプリケーション間のシングルサインオン(SSO)などのAuth0機能の中には、ユーザーが'{yourDomain}'
でCookieを設定するために、Auth0にリダイレクトされることに依存しているものもあります。
ポップアップモードを使用する場合、このCookieを設定するためにポップアップウィンドウが表示されます。プロンプトが必要ない場合は、中断を最小限に抑えるために、このポップアップウィンドウは空白で、非表示のiframe(インラインフレーム)内で表示されます。この理由は、アプリケーションからAuth0に送信されたクロスオリジン要求はCookieを設定できないからです。
ポップアップウィンドウを表示したくなく、かつ複数アプリケーション間のSSOが必要ない場合は、Lockまたはauth0.js使用時にsso: false
を設定できます。
var options = {
auth: {
sso: false
}
}
Was this helpful?