サイトアイコン Amelt.net

expo-google-app-auth:ログイン認証するとredirect_uri_mismatchとエラーが出る

Amelt

Amelt

This post is also available in: English-US (英語)

expo-google-app-authでOAuth2.0認証(Googleアカウントでログイン)を実装して、ログインしようとするとredirect_uri_mismatchとエラーが出る現象に遭遇したので、メモを備忘録的に残しています。

で、色々と調べた結果、expoを利用して開発していて、expoアプリで開発アプリをデバッグしてGoogleアカウントでログインしようとする際には、「パッケージ名に host.exp.exponent」と指定するとエラーが出なくなるとのことで、実際エラーなくログインできるようになりました。

パッケージ名は編集することができないので、FirebaseもしくはGoogle Cloud Consoleにて、別途開発用アプリを登録することで対応しました。
・Firebaseからは 「設定>全般>アプリを追加」
・Google Cloud Consoleからは「APIとサービス>認証情報>認証情報作成>OAuth クライアント ID の作成」

Firebaseにてアプリを登録すると、同じプロジェクト内のGoogle Cloud Console画面にて、自動でOAuth 2.0 クライアント IDが作成されているのを確認できました。
この際に「パッケージ名に host.exp.exponent」と指定し、対応する google-services.json に書き換えることで、OAuth2.0認証(Googleアカウントでログイン)が問題なく動作するようになりました。