gpt4 book ai didi

ruby-on-rails - 帮助使用带有内置 Omniauth 支持的设计

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

我试着关注 https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview ,但不知何故,当我查看生成的路由时,我只看到了回调路径,而不是授权路径(实际上我在 user_omniauth_authorize_path 链接的 View 上看到了错误)。

我认为这可能是 OmniAuth 和 Devise ( since after 0.2.0.beta Omniath allows configurable setting, and the routes must be defined ) 的版本问题。但是,当尝试使用较旧的 OmniAuth 版本时,我收到错误“You are using an old OmniAuth version, please ensure 0.2.0.beta or later installed.”。

我尝试与 Devise 的 master 1.2.rc 和 omniauth 分支以及整个 omniauth gem(0.2.0.beta 之后)和 'oa-oauth' 一起工作,但没有成功。
我还尝试定义路线:

match '/users/auth/:action/', :to => 'users/omniauth_callbacks#action', :as => 'user_omniauth_authorize'

这对路线有帮助,但是当按下链接时,我确实收到了设计无法找到映射的错误。有趣的是,将 devise_for 中的 Controller 更改为无效(例如在 users/omniauth_callbacks 之前添加“/”)导致第一次错误(“ Controller 名称不应以斜杠开头”),但实际上发送了一个小的重新加载我到 facebook 并返回(但自然未定义回调路线)。

我是 Ruby 的新手,不太确定我从哪里开始。任何帮助将不胜感激。

最佳答案

这个方法是defined by devise ,而不是通过路由。因此当你运行 rake routes 时它不会出现。 .该方法采用您在 config/initializers/devies.rb 中配置的 oauth 提供程序之一。例如,如果您在 devise.rb 中定义以下内容:

config.omniauth :facebook, FACEBOOK_APP_ID, FACEBOOK_APP_SECRET

然后你应该像这样构建授权链接:
<%= link_to "Facebook Sign in", user_omniauth_authorize_path(:facebook) %>

关于ruby-on-rails - 帮助使用带有内置 Omniauth 支持的设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5172321/

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