Flutter アプリケーションに API 認証情報を保存する 質問する

Flutter アプリケーションに API 認証情報を保存する 質問する

私は Flutter アプリで Google API サービスを使用していますが、これには JSON 形式の認証情報が必要です。この認証情報をアプリに保存する最適な方法は何ですか?

JSON ファイルをアセット フォルダーに保存して、メイン関数で読み取ることはできますか?

それとも、メイン関数に資格情報をハードコードするべきでしょうか? 私は Flutter 開発の初心者です。

私のコードは次のようになります

import 'package:googleapis/storage/v1.dart';
import 'package:googleapis_auth/auth_io.dart';

final _credentials = new ServiceAccountCredentials.fromJson(r'''
{
  "private_key_id": ...,
  "private_key": ...,
  "client_email": ...,
  "client_id": ...,
  "type": "service_account"
}
''');

const _SCOPES = const [StorageApi.DevstorageReadOnlyScope];

void main() {
  clientViaServiceAccount(_credentials, _SCOPES).then((http_client) {
    var storage = new StorageApi(http_client);
    storage.buckets.list('dart-on-cloud').then((buckets) {
      print("Received ${buckets.items.length} bucket names:");
      for (var file in buckets.items) {
        print(file.name);
      }
    });
  });
}

次の資格情報を保管する場所:

{
  "private_key_id": ...,
  "private_key": ...,
  "client_email": ...,
  "client_id": ...,
  "type": "service_account"
}

上記のようなハードコーディングは良い考えではないと思います。

これはうまくいくと思います:https://medium.com/@sokrato/storing-your-secret-keys-in-flutter-c0b9af1c0f69

ありがとう。

ベストアンサー1

資格情報などの機密情報を保存するには、iOS ではキーチェーン、Android ではキーストアを使用する必要があります。

そのための完璧なライブラリが にありますflutter_secure_storage

使い方は次のとおりです:

// Create storage
final storage = new FlutterSecureStorage();

// Store password 
await storage.write(key: "password", value: "my-secret-password");

// Read value 
String myPassword = await storage.read(key: "password");

使用するには、ターミナルにflutter_secure_storage: 3.2.1+1追加しpubspec.yamlて実行します。flutter packages get

以下にパッケージと、その使用方法のより詳細な例を示します。https://pub.dartlang.org/packages/flutter_secure_storage

おすすめ記事