@react-native-kakao/core
Version:
React Native Kakao Core SDK
58 lines (43 loc) • 1.31 kB
text/typescript
import CryptoJS from 'crypto-js';
import AES from 'crypto-js/aes';
import { kAssert } from './kAssert';
const ______________K______________ = '______________K______________';
function getter(key: string) {
const ret = localStorage.getItem(key);
return AES.decrypt(ret!, ______________K______________).toString(CryptoJS.enc.Utf8);
}
function setter(key: string, value: string) {
localStorage.setItem(key, AES.encrypt(value, ______________K______________).toString());
}
class GlobalStorage {
get restApiKey(): string {
const ret = getter('krk');
kAssert(ret, 'restApiKey is not set. did you initialize kakao sdk?');
return ret;
}
set restApiKey(value: string) {
setter('krk', value);
}
get javascriptKey(): string {
const ret = getter('kjk');
kAssert(ret, 'javascriptKey is not set. did you initialize kakao sdk?');
return ret;
}
set javascriptKey(value: string) {
setter('kjk', value);
}
get accessToken(): string {
const ret = getter('kat');
kAssert(ret, 'accessToken is not set. did you login to kakao?');
return ret;
}
set accessToken(value: string) {
setter('kat', value);
}
get headers(): object {
return {
Authorization: `Bearer ${this.accessToken}`,
};
}
}
export default new GlobalStorage();