🙌
【Flutter】重要キーを隠す方法
本記事を書いた理由
APIキー等の重要なキーを隠したかったから。
手順
①必要パッケージのインストール
②.envファイルの作成
③env.dartファイルの作成
④env.g.dartファイルの作成
⑤.gitignoreファイルの編集
⑥.envファイルの削除
①必要パッケージのインストール
以下はいつもの場所に記述する
・envied
下記二つは以下画像の箇所に記述する
・envied_generator
・build_runner
②.envファイルの作成
下記画像を参考に以下の流れでファイルやフォルダを作成する
①新規で「scripts」フォルダを作成する
②新規で「env」フォルダを作成する
③新規で「.env」ファイルを作成する
④.envファイル内に、秘匿化したいAPIキー等の情報を記載する
.env
Example_APIKEY=000000000aaaaaaaaa
③env.dartファイルの作成
libフォルダ内に「env.dart」ファイルを作成する
「obfuscate: true」の記述を行うことで、この後生成する「env.g.dart」ファイル中に記載されるキー情報が難読化される為セキュリティが向上する
env.dart
import 'package:envied/envied.dart';
part "env.g.dart";
(path: 'scripts/env/.env')
abstract class Env {
//varNameに設定する名前は「.envファイル」内に記載している「キーの名前」を記入する
(varName: 'Example_APIKEY', obfuscate: true)
static String pass1 = _Env.pass1;
}
記入したては、"env.g.dart"や_Envの箇所にエラーが出ますが気にせず次のフェーズへ...
④env.g.dartファイルの作成
ターミナルで以下コードを入力 → エンターキー押下
すると、env.g.dartファイルが自動生成される
flutter pub run build_runner build --delete-conflicting-outputs
⑤.gitignoreファイルの編集
.gitignoreファイル内の48行目に以下コードを記載する
.gitignore
# 開発中のコードから秘密情報を漏らさないための処理
.env
env.g.dart
⑥.envファイルの削除
env.g.dartファイルとenv.dartファイルができあがれば、.envファイルは不要なのでセキュリティ上削除をしておく。
上記手順後に別ファイルで重要キーを使う
//「Env.pass1」のように使う
String apiKey = Env.pass1;
Discussion