9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

firebaseConfigの中身がgithubにpushされないようにする方法【React】

Posted at

firebaseのコンソールでアプリを追加をすると、API keyauthDomainなどが含まれるfirebaseConfigが作成され、我々開発者はそれをコピーして、firebase.jsのようなファイルを作成し、そこに貼り付けて、コンポーネントでimportするなどをしてfirebaseを利用します。

ただ、これをそのままgithubにpushしてしまうとapi keyなどの情報が漏れてしまい、不正利用されるなんてこともあるかもしれません。

そこで、.envファイルを作成してgitignoreすることで、githubに公開してしまうのを防ぐことができるので、その方法について説明します。

今回はreactで開発している前提で説明します。
また、firebaseConfigをfirebase.jsに記述しているものとして進めていきます。

.envファイルをrootディレクトリに作成

まずは.envファイルを作成します。
場所はpublicbuildなどと同じ、rootディレクトリです。

作成したら.envファイルにfirebaseのapi keyなどの公開したく無い情報を記述します。

.env
REACT_APP_FIREBASE_API_KEY=xxxxxxx
REACT_APP_FIREBASE_AUTH_DOMAIN=xxxxxxx
REACT_APP_FIREBASE_DATABASE_URL=xxxxxxx
REACT_APP_FIREBASE_PROJECT_ID=xxxxxxx
REACT_APP_FIREBASE_STORAGE_BUCKET=xxxxxxx
REACT_APP_FIREBASE_MESSAGING_SENDER_ID=xxxxxxx
REACT_APP_FIREBASE_APP_ID=xxxxxxx

環境変数のkeyには注意しよう

reactの場合は環境変数のkey、つまりREACT_APP_FIREBASE_API_KEYなどの公開したく無い情報を代入される側はREACT_APP_で始める必要があります。
このように記述しないと、firebaseの読み込みが行われません。

逆にいうと、reactの場合、REACT_APP_で始めることで、.envファイル内の記述が特に設定をすることもなく読み込んでくれます 😎

firebase.jsの記述はどうなる?

さて.envファイルが完成したので、firebaseConfigの中身を変更しましょう。

firebase.js
const app = firebase.initializeApp({
  apiKey: process.env.REACT_APP_FIREBASE_API_KEY,
  authDomain: process.env.REACT_APP_FIREBASE_AUTH_DOMAIN,
  databaseURL: process.env.REACT_APP_FIREBASE_DATABASE_URL,
  projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID,
  storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET,
  messagingSenderId: process.env.REACT_APP_FIREBASE_MESSAGING_SENDER_ID,
  appId: process.env.REACT_APP_FIREBASE_APP_ID
})

先ほど.envで設定した変数を利用しているだけです😅

.gitignoreに.envを追加して完成!!

最後は.gitignoreに.envと記述して終わりです!!

これで、githubに公開されなくなったはずです。

ちなみにfirebaseはめっちゃ親切なので、もし、githubなどの外部に公開してしまった場合は速攻でメールを送ってくれます。

参考

9
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?