【问题标题】:Can not set OAuth on wordpress REST api无法在 wordpress REST api 上设置 OAuth
【发布时间】:2018-09-27 01:39:53
【问题描述】:

我想在我的 Wordpress 网站中实现带有 authorization 的 Rest api。 Wordpress 版本为4.9.5REST api 版本为2.0-beta15。为了保护我的 API,我需要在我的网站上实现 OAuth,首先,我从 linkuseful link 实现 WordPress REST API – OAuth 1.0a 服务器。但是插件有这些问题:

  • Rest-calls 在没有授权的情况下仍然可以工作,每个未经授权的用户都可以调用我的 rest-apis。
  • 我想在我的 Android 应用程序中实现这个,所以我必须在后台处理所有步骤,但是使用这个插件,我应该向用户显示许多 webView,用户应该填写它们,最终的令牌也会显示给用户在 webview 中,这对我来说听起来不太好。

所以我寻找另一个插件并找到 WP-API 的 JWT 身份验证。这个插件更容易和方便。我按照说明进行操作,可以获取令牌并添加到请求标头以发出请求,如果它是有效响应,则为 200,如果不需要验证。一切似乎都很好!

但同样的问题:

  • 每个 REST API 甚至都可以在没有授权标头的情况下工作,如果我不放标头,结果是 200 并且所有请求都像以前一样工作,无需任何授权

尽管有文件说:

获得令牌后,您必须将其存储在您的 应用程序,例如。在 cookie 中或使用本地存储。

从此时起,您应该将此令牌传递给每个 API 调用

所以现在我看到我没有限制 API 调用在两个插件中都有 Authorization 标头,我如何实现这一点以及最好的解决方案是什么?

【问题讨论】:

    标签: android wordpress oauth wordpress-rest-api


    【解决方案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 的非常好的组合。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-25
      • 2016-04-12
      • 2019-08-02
      • 2013-03-17
      • 1970-01-01
      • 1970-01-01
      • 2021-12-09
      • 2015-04-26
      相关资源
      最近更新 更多