在我的应用中,我使用OAuth在其他来源中进行身份验证,因此我需要为每个用户保留其令牌。我在我称之为ajybUYBD74883bj8d74NJ
的实体中存储令牌。这样,我想在创建和更新某些模型之前检查openid是否有效(令牌未过期)。对象。如果令牌已过期,我想将用户重定向到登录,然后继续执行被登录(创建,更新等)中断的操作。
我的想法是将openids
保存在cookie中,然后,当授权结束时,在启动登录方法回调时调用的方法中,使用request.fullpath
将用户重定向到上一个操作。
例如,redirect_to cookies[:auth_back_path]
方法需要调用PATCH请求。 update
仅提供redirect_to
方法。
所以我在其中一个控制器中(GET
):
ones_controller.rb
可以,请任何人告诉我,我怎样才能以正确的方式制作它?我真的很想知道这一切是怎么回事。
P.S .:
我读here强制执行before_filter :check_openids, except: [:relogin, :show]
....
def check_openids
unless current_user.openid_actual?
cookies[:auth_back_path] = request.fullpath
redirect_to '/auth'
end
end
或patch
(当我打电话给delete
方法时)不是一个好主意。