无法在 wordpress REST api 上设置 OAuth
Posted
技术标签:
【中文标题】无法在 wordpress REST api 上设置 OAuth【英文标题】:Can not set OAuth on wordpress REST api 【发布时间】:2018-09-27 01:39:53 【问题描述】:我想在我的 Wordpress 网站中实现带有 authorization 的 Rest api。 Wordpress 版本为4.9.5
,REST api 版本为2.0-beta15
。为了保护我的 API,我需要在我的网站上实现 OAuth,首先,我从 link 和 useful link 实现 WordPress REST API – OAuth 1.0a 服务器。但是插件有这些问题:
所以我寻找另一个插件并找到 WP-API 的 JWT 身份验证。这个插件更容易和方便。我按照说明进行操作,可以获取令牌并添加到请求标头以发出请求,如果它是有效响应,则为 200,如果不需要验证。一切似乎都很好!
但同样的问题:
每个 REST API 甚至都可以在没有授权标头的情况下工作,如果我不放标头,结果是 200 并且所有请求都像以前一样工作,无需任何授权尽管有文件说:
获得令牌后,您必须将其存储在您的 应用程序,例如。在 cookie 中或使用本地存储。
从此时起,您应该将此令牌传递给每个 API 调用
所以现在我看到我没有限制 API 调用在两个插件中都有 Authorization 标头,我如何实现这一点以及最好的解决方案是什么?
【问题讨论】:
【参考方案1】:我终于用这个插件解决了这个问题:
Disable REST API and Require JWT / OAuth Authentication
正如它的名字所说,它会做我想要的。它适用于我使用的两个插件
WP REST API 的 JWT 身份验证 WP OAuth 服务器并限制所有未经授权且工作正常的 api 调用。 所以我的最佳实践是 JWT 用于 Oauth + 禁用 REST API 并要求 JWT / OAuth 身份验证,它们是在 android 应用程序中为 word-press 实现 OAuth 的非常好的组合。
【讨论】:
以上是关于无法在 wordpress REST api 上设置 OAuth的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Wordpress 中使用 REST API 获得响应
无法在 wordpress 5.8.1 中访问 woocommerce rest api
Wordpress 5.4。 REST API通过子弹无法工作
无法显示来自 Wordpress REST API 自定义端点的自定义字段