FlutterでTimeCrowdアプリを作る その4: アクセストークンの保存
Published in
3 min readMay 31, 2019
続きです。
動作確認のたびにログインさせられるのはもう嫌なので、アクセストークンを保存します。
アクセストークンは重要な情報なので、平文で保存するわけにはいかないため、 flutter_secure_storage
を使います。
パッケージ導入
パッケージを導入します。
dependencies:
flutter_secure_storage:
iOSはこれだけでよいのですが、Androidはいくつか設定(minSdkVersionの指定とバックアップの無効化)が必要です。
手順はREADMEに記載されています。
https://github.com/mogol/flutter_secure_storage#configure-android-version
データの保存・読み込み
それでは実際にアクセストークンに使用してみます。
import 'package:flutter_secure_storage/flutter_secure_storage.dart';final storage = new FlutterSecureStorage();
String accessToken = await storage.read(key: 'timecrowdAccessToken');
if (accessToken == null) {
Token token = await flutterOAuth.performAuthorization();
accessToken = token.accessToken;
await storage.write(key: 'timecrowdAccessToken', value: accessToken);
}
http.Response response = await http.get('https://timecrowd.net/api/v1/user',
headers: {'Authorization': 'Bearer ${accessToken}'});
print(json.decode(response.body)['nickname'])
これで初回だけログインされて、あとはひたすら nickname
を print
できるようになりました。
これで開発が捗りそうです。
今回のコードはこちらのコミットです。