RactNative(Expo)でSecureStoreを利用する。
6706 ワード
秘密鍵情報やsecret等の保存は悩ましいところです。
ExpoではSecureStoreという、iOSだと、Keychain Servicesを、AndroidならKeystore Systemをラップした保存手法を提供してくれます。AsyncStoreとほぼ同じ感じで使えるようです。
App.js
実装は以下の通り。特に難しいことはありません。セットしない、deleteした場合はnullが返るようです。
App.js
import React from 'react';
import { StyleSheet, Text, View, Button } from 'react-native';
import { SecureStore } from 'expo';
export default class App extends React.Component {
render() {
return (
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<Button
title='setItem'
onPress={() => this.handleSetItem()}
/>
<Button
title='getItem'
onPress={() => this.handleGetItem()}
/>
<Button
title='deleteItem'
onPress={() => this.handleDeleteItem()}
/>
</View>
);
}
handleSetItem = async () => {
await SecureStore.setItemAsync('access_key', 'hoge');
alert('setItem');
}
handleGetItem = async () => {
const key = await SecureStore.getItemAsync('access_key');
if (key === null) {
alert('セットされていません。');
} else {
alert(key);
}
}
handleDeleteItem = async () => {
await SecureStore.deleteItemAsync('access_key');
alert('deleteItem');
}
}
Author And Source
この問題について(RactNative(Expo)でSecureStoreを利用する。), 我々は、より多くの情報をここで見つけました https://qiita.com/zaburo/items/a26ab82e0b5b7fe8faa7著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .