我正在使用devise进行rails api身份验证,但无法正确理解devise正在为我们做什么。
我有会话控制器,其中包含用于登录用户的创建方法。
{{1}}
在rubydoc上,它的描述就是这样写的
登录已经过身份验证的用户。注册后,此助手可用于记录用户。给sign_in的所有选项都传递给warden中的set_user方法。
但我不清楚。感谢。
答案 0 :(得分:1)
sign_in
适用于您已经拥有自己创建或加载/验证的User
对象,因此希望在会话中存储为当前其余部分的经过身份验证的用户以及即将到来的请求。
如果您查看source code for the default Devise SessionsController
,您会发现它还使用sign_in
来登录用户。
设计是一个超过warden的图层,因此您可能需要查看其documentation以了解此级别的功能。正如您引用的Devise文档所述,sign_in
只是从warden调用set_user
方法。 Devise添加的内容是很多方便,例如使用多个范围和各种监管认证策略的能力。