@@ -30,12 +30,22 @@ export function AuthProvider({ children }: { children: React.ReactNode }) {
3030 useEffect ( ( ) => {
3131 const loadTokens = async ( ) => {
3232 try {
33- const accessToken = await SecureStore . getItemAsync ( ACCESS_TOKEN_KEY ) ;
34- const refreshToken = await SecureStore . getItemAsync ( REFRESH_TOKEN_KEY ) ;
35- const expiresAtStr = await SecureStore . getItemAsync ( EXPIRES_AT_KEY ) ;
33+ const accessToken = await SecureStore . getItemAsync ( ACCESS_TOKEN_KEY , {
34+ keychainAccessible : SecureStore . AFTER_FIRST_UNLOCK ,
35+ } ) ;
36+ const refreshToken = await SecureStore . getItemAsync ( REFRESH_TOKEN_KEY , {
37+ keychainAccessible : SecureStore . AFTER_FIRST_UNLOCK ,
38+ } ) ;
39+ const expiresAtStr = await SecureStore . getItemAsync ( EXPIRES_AT_KEY , {
40+ keychainAccessible : SecureStore . AFTER_FIRST_UNLOCK ,
41+ } ) ;
3642 const createdAtStr =
37- await SecureStore . getItemAsync ( TOKEN_CREATED_AT_KEY ) ;
38- const codeVerifier = await SecureStore . getItemAsync ( CODE_VERIFIER_KEY ) ;
43+ await SecureStore . getItemAsync ( TOKEN_CREATED_AT_KEY , {
44+ keychainAccessible : SecureStore . AFTER_FIRST_UNLOCK ,
45+ } ) ;
46+ const codeVerifier = await SecureStore . getItemAsync ( CODE_VERIFIER_KEY , {
47+ keychainAccessible : SecureStore . AFTER_FIRST_UNLOCK ,
48+ } ) ;
3949
4050 if ( accessToken && refreshToken && expiresAtStr ) {
4151 const expiresAt = parseInt ( expiresAtStr , 10 ) ;
@@ -65,23 +75,37 @@ export function AuthProvider({ children }: { children: React.ReactNode }) {
6575 const setTokens = async ( newTokens : AuthTokens | null ) => {
6676 try {
6777 if ( newTokens ) {
68- await SecureStore . setItemAsync ( ACCESS_TOKEN_KEY , newTokens . accessToken ) ;
78+ await SecureStore . setItemAsync ( ACCESS_TOKEN_KEY , newTokens . accessToken , {
79+ keychainAccessible : SecureStore . AFTER_FIRST_UNLOCK ,
80+ } ) ;
6981 await SecureStore . setItemAsync (
7082 REFRESH_TOKEN_KEY ,
7183 newTokens . refreshToken ,
84+ {
85+ keychainAccessible : SecureStore . AFTER_FIRST_UNLOCK ,
86+ } ,
7287 ) ;
7388 await SecureStore . setItemAsync (
7489 EXPIRES_AT_KEY ,
7590 newTokens . expiresAt . toString ( ) ,
91+ {
92+ keychainAccessible : SecureStore . AFTER_FIRST_UNLOCK ,
93+ } ,
7694 ) ;
7795 await SecureStore . setItemAsync (
7896 TOKEN_CREATED_AT_KEY ,
7997 newTokens . createdAt . toString ( ) ,
98+ {
99+ keychainAccessible : SecureStore . AFTER_FIRST_UNLOCK ,
100+ } ,
80101 ) ;
81102 if ( newTokens . codeVerifier ) {
82103 await SecureStore . setItemAsync (
83104 CODE_VERIFIER_KEY ,
84105 newTokens . codeVerifier ,
106+ {
107+ keychainAccessible : SecureStore . AFTER_FIRST_UNLOCK ,
108+ } ,
85109 ) ;
86110 }
87111 setTokensState ( newTokens ) ;
0 commit comments