0

我正在使用 Auth0 的 react-native-lock 小部件进行用户身份验证,成功登录后,我将令牌与 AsyncStorage 一起存储。

如果用户回到应用程序,我希望能够跳过登录并简单地从 Auth0 获取当前用户信息。从Auth0 API 文档来看,这似乎非常容易,但我在我的应用程序中收到了“未经授权”的消息:

async getUserinfo() {
console.log('getting user info in getUserInfo()');
try {
  let response = await fetch('https://xxxxx.auth0.com/userinfo', {
    method: 'GET',
    headers: {
      Authorization: 'Bearer ${this.state.token.accessToken}',
    },
  });
  let responseJson = await response.json();
  if(responseJson !== null) {
    console.log('Got user info: ' + responseJson.email);
    this.setState({ component: Temp, isLoading: false, profile: responseJson});
  }
} catch (error) {
  console.log('Error in retrieving userinfo from Auth0: ' + error.message);
  this.setState({ component: Login, isLoading: false});
}
}

我错过了什么?我找不到很多将 fetch 与 Auth0 一起使用的示例,我应该使用更好的方法吗?

4

1 回答 1

0

在相关 GitHub 问题范围内发现的问题。如果有人登陆这里而不是问题得到解决的地方,问题是您需要使用:

Authorization: 'Bearer ' + this.state.token.accessToken, 

原始代码试图访问字符串字面量中的变量'Bearer ${this.state.token.accessToken}'

于 2016-11-21T16:17:13.753 回答