Devise中的Token Authenticatable模块

我开始在我的Rails应用程序中使用Devise,但Token Authenticatable基于身份validation令牌(也称为“单一访问令牌”)模块的用户在我身上困惑。

用户是否仅在当前会话中进行身份validation? 如果他现在使用包含令牌的URL,他可以在晚些时候重新使用它,并且仍然可以访问,还是只有一个访问权限?

多个用户可以同时使用相同的令牌进行身份validation吗?

我已经广泛search了一个工作的例子。 请原谅我,如果这是其他地方解释。 任何指针都会比欢迎。 谢谢你的帮助。

简短的答案是:取决于你。

这个模块只提供了一些助手来帮助你pipe理令牌,但是你可以select如何使用它。 例如,如果您希望每次用户保存其帐户时都拥有新的令牌,则可以执行以下操作:

 before_save :reset_authentication_token 

另一方面,如果你想生成令牌,除非存在,你应该使用:

 before_save :ensure_authentication_token 

如果要在使用该令牌之后删除该令牌,则可以在after_token_authenticationcallback中执行此操作。

请参阅http://rdoc.info/github/plataformatec/devise/master/Devise/Models/TokenAuthenticatable关于此模型的文档。;