作者:u47871838 | 来源:互联网 | 2022-12-06 18:14
我正在使用AsyncStorage来存储来自AWS的JWT令牌,但是有一个意外的情况我想弄清楚。
这是我当前的代码:
const retrieveJwt = async () => {
try {
const value = await AsyncStorage.getItem('jwt');
if (value !== null) {
return value;
}
else{
let user = await Auth.currentAuthenticatedUser();
let jwt = user.signInUserSession.accessToken.jwtToken;
return jwt
}
} catch (error) {
// Error retrieving data
let user = await Auth.currentAuthenticatedUser();
let jwt = user.signInUserSession.accessToken.jwtToken;
return jwt
}
}
// AppSync init
const client = new Client({
url: AppSync.graphqlEndpoint,
region: AppSync.region,
auth:{
type: 'AMAZON_COGNITO_USER_POOLS',
jwtToken: async () => await retrieveJwt(),
},
disableOffline: true
})
当我运行此应用程序时,我得到了:
未调试的Android真实设备:失败
带有远程调试JS的 Android真实设备:成功
无需调试的iOS模拟器:成功
带有远程调试JS的 iOS模拟器:成功
问题在于,似乎既未通过AsyncStorage也未通过AWS Auth类检索JWT令牌,并且由于以下原因我无法解决它:
我在没有调试的Android真实设备上运行:无法正常工作。
我在Android上通过调试运行:它可以工作。
因此,我无法进行调试以查看问题所在,因为当我尝试在Android上进行调试时,它可以工作。
希望有人可以帮助我。