gpt4 book ai didi

ruby-on-rails - OAuth 2.0 的 Wordpress 策略

转载 作者:行者123 更新时间:2023-12-01 04:04:47 25 4
gpt4 key购买 nike

我正在开发一个应用程序,该应用程序允许用户使用 Devise 和 Omniauth 进行身份验证,然后将他的社交网络帐户连接到该应用程序。我想添加 Wordpress 集成(他们的网站声明他们支持 OAuth 2.0 身份验证和 REST API 访问)。

不幸的是,该提供商没有 Omniauth 策略。我研究了一些其他的 gem 并决定自己写 - 它看起来并不那么复杂。 The source code can be found here .

我已经添加了所有必需的信息(根据 Wordpress docs),然后我已经注册了一个应用程序 ID 和密码。我在这里遇到了第一个问题——Wordpress 需要一个实时的公共(public)域作为重定向 URI。我不想使用一个 - 我想先在开发模式下进行测试,所以 localhost 对我来说很好。我输入了一个虚拟地址,然后将其更改回 localhost(令人惊讶!他们没有在更新时验证它,只是在创建时)。

我已将凭据添加到我的初始化程序(config/initializers/devise.rb):

config.omniauth :wordpress, "my_app_id", "my_app_secret"

它似乎有效 - 我得到了我期望的身份验证对话框,它提到了我的应用程序。但是当我点击“授权”并被重定向到我的应用程序时,我收到一个错误,提示凭据无效。

我检查了凭据,但它们是正确的(没有拼写错误,顺序正确)。我已经重置了应用程序 secret - 不走运。我已经创建了另外两个应用程序,但仍然没有。

我已经没有想法了。什么会导致这样的错误?可能是因为redirect_uri中的本地地址吗?

最佳答案

我怀疑这很容易错过,而且确实如此。 Wordpress 的服务器以 JSON 字符串响应,但响应没有被解析为一个。因此 Omniauth gem 在其中找不到访问 token 并引发了无效凭据错误。设置正确的内容类型就像一个魅力。

关于ruby-on-rails - OAuth 2.0 的 Wordpress 策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10194108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com