React Native - 如何使用 JWT 令牌从 WordPress REST API 获取私人帖子

Posted

技术标签:

【中文标题】React Native - 如何使用 JWT 令牌从 WordPress REST API 获取私人帖子【英文标题】:React Native - How to get private posts from WordPress REST API using JWT Token 【发布时间】:2020-11-08 05:40:14 【问题描述】:

我已经使用 JWT 插件通过管理员帐户和密码登录 WordPress Rest API,并将接收到的令牌存储在 AsyncStorage 中,如下所示。

await AsyncStorage.setItem(
    'user',
    JSON.stringify(
      token: userData.token,
      user_email: userData.user_email,
      user_nicename: userData.user_nicename,
      user_display_name: userData.user_display_name,
    ),
  );

然后我设法通过包含带有请求标头的令牌来获取所有帖子,包括私人帖子,

  let userInfo = await AsyncStorage.getItem('user');
  let jsonUser = await JSON.parse(userInfo);
 
  let credential = 'Bearer ' + jsonUser.token;
  
  fetch('http://localhost/reactnativewordpress/wp-json/wp/v2/posts', 
    headers: 
      Authorization: credential,
    ,
    method: 'GET',
    withCredentials: true,
    credentials: 'include',
  )
    .then(response => response.json())
    .then(responseJson => 
      
      this.setState(
        items: responseJson
        
      );
    )
    .catch(error => 
      
      console.log('Error :' + error);
      
    );

responseJson 只有公开帖子,根本没有私人帖子。

感谢您的帮助。

【问题讨论】:

【参考方案1】:

你需要添加

status=private

在您的请求中,

喜欢这个http://localhost:8000/wp-json/wp/v2/posts?status=private

这样,授权标头应该运行;)

【讨论】:

以上是关于React Native - 如何使用 JWT 令牌从 WordPress REST API 获取私人帖子的主要内容,如果未能解决你的问题,请参考以下文章

如何在 react native 和 redux 应用程序中处理 JWT 令牌到期

用于 JWT 刷新令牌的 react-native 中的 httpOnly cookie

React Native 和 React Js 的 JWT Token vs Session Token

使用 JWT Token、React Native 和 Redux 检索用户信息

当 jwt 刷新令牌未过期时,React Native 应用程序注销

带有 Laravel 后端和 React Native 应用程序的 Facebook 和 JWT Auth