sách gpt4 ai đã đi

facebook - 设计和 OmniAuth 记住 OAuth

In lại 作者:行者123 更新时间:2023-11-30 05:15:13 25 4
mua khóa gpt4 Nike

所以,我刚刚通过 https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview 使用 Rails 3、Devise 和 OmniAuth 进行设置。 .

我通过 Facebook 成功验证了用户身份,但尽管标记为:

devise [...]: rememberable, :omniauthable

我试过打电话:

@the_user.remember_me!

...无济于事。没有存储/设置 cookie,这意味着用户不会跨 session 持续存在。

有没有人设法通过 cookie 记住来自 FB 的用户?在我看来,这应该是自动发生的。

感谢你们的任何想法或反馈。

1 Câu trả lời

我想详细说明 @jeroen-van-dijk 上面给出的对我有用的(正确)答案。

在 config/routes.rb 中,在 devise_for block 中添加一条新路由:

devise_for :users, :controllers => {
:omniauth_callbacks => "user_omniauth_callbacks" } do
...
get '/users/connect/:network', :to => redirect("/users/auth/%{network}"),
:as => 'user_oauth_connect'

kết thúc

然后更改“使用 facebook 登录”链接以使用新路由:


<%= link_to "Sign in using Facebook", user_oauth_connect_path(:facebook) %>

在 app/controllers/user_omnniauth_callbacks_controller.rb

class UserOmniauthCallbacksController < Devise::OmniauthCallbacksController
include Devise::Controllers::Rememberable

def facebook
@user = User.find(...)
...
remember_me(@user) # set the remember_me cookie
kết thúc
kết thúc

这个解决方案对使用 Rails 3.1 和 Devise 1.4.9 的我来说效果很好。

关于facebook - 设计和 OmniAuth 记住 OAuth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4475726/

25 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com