Rso's Jotter

日々の開発の知見のメモやその他雑記

Auth0でSafariからのログインができなかったときの対応

Auth0を使用したログインでハマったのでメモっておきます。

構成

フロントエンドはNuxt.jsを使用しており、認証はAuthModuleを使っています。 認証はAuth0のUniversal loginの使っており、Auth0の認証ダイアログが開かれて、そこで認証されたらフロントエンドにcallbackされるという作りです。

経緯と対策

開発中はChromeで動作確認していたのですが、Safariで疎通すると、Universal Loginの認証後のcallbackページで止まってしまう現象が発生しました。

状況を調べてみると、どうやらうまくCookieが書き込めていない感じでした。その他認証に関するエラーログは一切出力されず。

いろいろ調べてみるとSafariは3rd party cookie を防ぐからクロスオリジンのドメインじゃだめ、という説明を見かけました。

auth0.com

そこでとりあえずAuth0のドメインをカスタムドメインにして再度疎通したのですが、症状は変わらず。

更に調べてみると、以下の記事が見つかり、callbackのURLにスラッシュつけてcallback -> 'callback/' にしたら動きました。。

community.auth0.com

これはエラーログも出ないのでこれはハマるでしょ、、思ったのでここに記録しておきます。