我使用Scala在Play Framework上运行网站。作为网站的一部分,我使用WP REST Api从单独托管的WordPress实例中提取内容。
我一直在尝试使用他们的OAuth plugin访问我的WordPress实例上的授权JSON。作为流程的一部分,我需要能够在收到验证者后回调到我的原始网站。要在Play中处理OAuth1请求,我使用了优秀的Scribe库。
我可以进入OAuth1工作流程中的阶段,我需要交换我的验证程序和请求令牌以获取访问令牌,但是我只能通过拦截我的传出请求并附加我之前使用的WordPress登录cookie来解决这个问题。集。
我的工作流程是:
所以我需要从http://mywordpress.com域手动附加cookie,并使用密钥启动wordpress_logged_in _...以获取我的访问令牌。
当我手动附加wordpress_logged_in _...时,我将通过Google Chrome的高级REST客户端应用程序作为帖子发送,并将OAuth参数作为授权标题。如上所述,这成功地让我回到了访问令牌。
有没有其他人有这个问题,并解决了它?我在设置或请求中是否犯了一些基本错误?
答案 0 :(得分:1)
这就是问题:WP cookie,浏览器不允许你通过http标头发送它。您是否尝试过这样做:https://github.com/WP-API/OAuth1/issues/39#issuecomment-57620637?
答案 1 :(得分:0)
我已经通过JSON Web Token方法成功访问了WP API,如果你在令牌上设置一个计时器然后根据需要刷新它,这可能没问题。
我使用了这个插件:JWT Authentication for the WP REST API,它就像一个魅力。
我知道这不是OAuth1,但它确实为我安全地验证Wordpress节省了大量时间。