我可以命名 Omniauth 身份验证路由吗?

发布于 2024-11-29 11:35:52 字数 406 浏览 0 评论 0原文

我已将 Omniauth 添加到我的 Rails 3.1 项目中,一切正常。当我访问 hostname/auth/facebook 时,我会进入一个页面,在这里我可以按照您的预期授权访问我的 Facebook 帐户。

我想知道我是否可以命名该路线,以便在我的 link_to 帮助程序中我可以编写

<%= link_to 'Login with Facebook', facebook_login_path %>

而不是

<%= link_to 'Login with Facebook', '/auth/facebook' %>

“不是我知道的大事,但我喜欢一致性”。

I've added Omniauth to my rails 3.1 project and it all works fine. When I visit hostname/auth/facebook I'm brought to a page where I can authorize access to my Facebook account as you would expect.

I'm wondering if I can name that route though so that in my link_to helpers I can write

<%= link_to 'Login with Facebook', facebook_login_path %>

instead of

<%= link_to 'Login with Facebook', '/auth/facebook' %>

Not a huge thing I know but I like the consistency.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

愿得七秒忆 2024-12-06 11:35:53

通常你会做这样的事情: 在你的routes.rb文件中:

get "auth/facebook", :to => "controller#action", :as => "facebook_login"

但在这种情况下,你发送到的URL实际上不是你的应用程序的URL部分 - 而是Facebook的oauth url。因此,您无法为其创建路由。

您唯一可以做的 - 就像上面的评论者指出的那样 - 就是在您的帮助程序文件之一中创建一个帮助程序方法 - 例如 app/helpers/application_helper.rb

def facebook_login_path
  "/auth/facebook"
end

Normally you would do something like this: In your routes.rb file:

get "auth/facebook", :to => "controller#action", :as => "facebook_login"

But in this case, the url that you are sent to isn't actually a URL part of your application - but the oauth url for Facebook. Therefore, you can't create a route for it.

The only thing you could do - like the commenter above pointed out - is to create a helper method in one of your helper files - like app/helpers/application_helper.rb

def facebook_login_path
  "/auth/facebook"
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文