jes*_*era 5 ruby-on-rails devise ionic-framework
我有一个 Rails Web,它从一开始就使用 cookie 会话身份验证(设计)。现在,我们正在开发一个 ionic 移动应用程序,它使用 Rails 应用程序中提供的 API。
我考虑过在这个新应用程序中使用 JWT 或令牌身份验证,但我找不到结合身份验证方法、cookie 和 JWT 的方法。此外,这两种应用程序都有不同的要求。例如,在网络中,只有当用户具有特定角色时,他/她才可以进行并发会话。相反,在移动应用程序中,可以不受任何限制地进行并发会话。
我读了很多书,试图找出如何结合这两种方法,但我找不到方法。也许我应该考虑仅使用其中一种方法(JWT)或使用另一种方法(门卫)。
最后我找到了解决方案。根据refaelos和Zac Stewart 的说法,我将设计与 JWT gem 结合起来,使用最后一个作为第一个的新策略。通过这种方式,当我不使用 JWT 令牌时,devise 将选择默认策略(在我的例子中为database_authenticable)。否则,它将使用 JWT 策略。
但是,当用户未经过身份验证并向 Session#create 发出 post 请求以获取凭据时,devise/warden 选择的策略是database_authenticatable。为了避免这种情况,我需要向请求添加一个新参数,但仅限于这种情况,因为正如我所说,当令牌出现在请求中时,就会选择新策略。
也可以看看:
| 归档时间: |
|
| 查看次数: |
2907 次 |
| 最近记录: |