質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

3回答

938閲覧

raectでfirebaseで認証を行おうとすると、エラーで認証ができません。

atsupoooon

総合スコア47

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2022/10/15 15:12

前提

reactでfirebaseを使用して、認証行いたいと思い、実装しておりましたが、
認証でエラーが発生して認証ができない状態です。。。
fireabase v9
react v18

参考のサイトなども調べましたが、v8のものが多く、、、

発生している問題・エラーメッセージ

firebaseConfig.jsの17行目でエラー

FirebaseError: Firebase: Error (auth/invalid-api-key). 15 | // Initialize Firebase 16 | const app = !getApps().length ? initializeApp(firebaseConfig) : getApp(); 17 | const auth = getAuth(app); | ^ 18 | const provider = new GoogleAuthProvider(); 19 | 20 | export {auth, provider};

console.log(firebaseConfig);で値が正しいどうかも確認しましたが、
問題なく、全ての値が正しく表示されます。

該当のソースコード

firebaseConfig.js

1import { FirebaseOptions, initializeApp, getApps, getApp, FirebaseApp } from "firebase/app"; 2import { getAuth } from "firebase/auth"; 3import { GoogleAuthProvider } from "firebase/auth"; 4 5const firebaseConfig = { 6 apiKey: process.env.FIREBASE_API_KEY, 7 authDomain: process.env.FIREBASE_AUTH_DOMAIN, 8 projectId: process.env.FIREBASE_PROJECT_ID, 9 storageBucket: process.env.FIREBASE_STORAGE_BUCKET, 10 messagingSenderId: process.env.FIREBASE_MESSAGE_SENDER_ID, 11 appId: process.env.FIREBASE_APP_ID, 12 measurementId: process.env.FIREBASE_MEASUREMENT_ID, 13}; 14console.log(firebaseConfig); 15// Initialize Firebase 16const app = !getApps().length ? initializeApp(firebaseConfig) : getApp(); 17const auth = getAuth(app); 18const provider = new GoogleAuthProvider(); 19 20export {auth, provider};

FirebaseOptions・FirebaseAppはなくても問題ないかと思いますが、
試して追記したものを残している状態です。

わかる方おりましたら、お教えいただきたいです。。。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

Reactじゃなかったのですか!

投稿2022/11/06 03:10

busiRyu110

総合スコア2

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

環境変数の記述が誤っておりました。
NEXT_PUBLIC_FIREBASE_API_KEY
で再度記述し直し解決できました。

投稿2022/11/06 03:05

atsupoooon

総合スコア47

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

私はnextjsとfirebaseですが、同じエラーになります。
解決しましたか?

投稿2022/10/30 11:48

busiRyu110

総合スコア2

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

atsupoooon

2022/10/30 13:10

まだ解決できておりません。。。 環境変数を直接記述することで動作することは確認できたのですが、 直接記述するのは、よくないと思いまだ調べて調整しております。。
busiRyu110

2022/10/30 13:44

解決しました 多分ここの値が間違えていますよ ``` apiKey: process.env.FIREBASE_API_KEY, authDomain: process.env.FIREBASE_AUTH_DOMAIN, projectId: process.env.FIREBASE_PROJECT_ID, storageBucket: process.env.FIREBASE_STORAGE_BUCKET, messagingSenderId: process.env.FIREBASE_MESSAGE_SENDER_ID, appId: process.env.FIREBASE_APP_ID, measurementId: process.env.FIREBASE_MEASUREMENT_ID, ```
busiRyu110

2022/10/30 13:49

もしくは、reactならREACT_APPをつければ、envから読み込めますよ
atsupoooon

2022/10/30 23:39

ありがとうございます! 一度こちらで試してみます!!!
atsupoooon

2022/10/31 12:47

環境変数を下記のような形で変更しましたが、やはり同じエラーになりました。 REACT_APP_FIREBASE_API_KEY ==エラー文章== FirebaseError: Firebase: Error (auth/invalid-api-key). ========= busiRyu110さんは、どのような形でエラーがなくなりましたでしょうか。 参考にお教え頂ければと思います。
busiRyu110

2022/11/06 03:08

私の場合は、 envに記載し、その後に、別のファイルで下記のようにimportから環境変数を読めるようにしました。 これをやらなくても良いとは思いましが、正しくconsolelogしてenvの中身取得できていましたか? 取得できていない場合、取得方法などが間違えています。 ``` export const FIREBASE_API_KEY = process.env['NEXT_PUBLIC_FIREBASE_API_KEY'] ?? '' ```
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問