Auth0を使用したログインでハマったのでメモっておきます。
構成
フロントエンドはNuxt.jsを使用しており、認証はAuthModuleを使っています。 認証はAuth0のUniversal loginの使っており、Auth0の認証ダイアログが開かれて、そこで認証されたらフロントエンドにcallbackされるという作りです。
経緯と対策
開発中はChromeで動作確認していたのですが、Safariで疎通すると、Universal Loginの認証後のcallbackページで止まってしまう現象が発生しました。
状況を調べてみると、どうやらうまくCookieが書き込めていない感じでした。その他認証に関するエラーログは一切出力されず。
いろいろ調べてみるとSafariは3rd party cookie を防ぐからクロスオリジンのドメインじゃだめ、という説明を見かけました。
そこでとりあえずAuth0のドメインをカスタムドメインにして再度疎通したのですが、症状は変わらず。
更に調べてみると、以下の記事が見つかり、callbackのURLにスラッシュつけてcallback
-> 'callback/' にしたら動きました。。
これはエラーログも出ないのでこれはハマるでしょ、、思ったのでここに記録しておきます。