Photo by Rodion Kutsaev on Unsplash

FlutterでTimeCrowdアプリを作る その4: アクセストークンの保存

Tatsuya Tobioka
Ruffnote
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'])

これで初回だけログインされて、あとはひたすら nicknameprint できるようになりました。

これで開発が捗りそうです。

今回のコードはこちらのコミットです。

--

--