java - Spring Boot + Ionic 应用认证
问题描述
我正在使用 Ionic 3 开发一个混合应用程序,它将与我将使用 Spring Boot 编写的 REST Api 服务进行通信。
我在设置正确的注册/登录机制时遇到了一些困难。我想要实现的是用户在移动应用程序上注册,然后使用他的用户名和密码登录,然后每当他打开应用程序时,他将始终登录(无需再次传递凭据)只要他没有点击“退出”按钮。
我尝试过的方法是,在 Spring Secutiry 的帮助下,当用户使用他的凭据登录时,他会收到一个 JWT 令牌,该令牌保存在客户端(应用程序端),然后在每个 subseqnet 请求的标头中使用。
我对这个解决方案的问题是我必须设置 JWT 到期日期(如 10 天、30 天),然后,当该时间过去时,用户必须再次输入他的凭据才能接收新令牌. 我想避免这种情况。另一个问题是,如果有这种必要性,没有使 JWT 令牌无效的机制。
另一种选择是我认为将访问令牌有效期设置为 30 分钟,然后接收带有刷新令牌的新令牌。但是,这还需要客户端 ID 和客户端密码,我认为将它们存储在客户端应用程序中也不安全。
这种情况的最佳做法是什么?请帮助并感谢:)
解决方案
推荐阅读
- javascript - Javascript - 通过键值从数组中删除对象
- wordpress - wordpress 上的混合内容错误导致网站不安全
- reverse-proxy - 将 Raspberry 配置为使用 lighttpd 作为反向代理
- kubernetes - ReplicaSet 版本错误
- counter - 查看 P4 数据包计数器
- python - 如何在动画期间更改 Sprite 的图像?
- mysql - 使用 mysql 中的嵌套查询选择查询
- angularjs - BreezeJS 导入实体类型错误
- java - Android 模拟器中的 SSL 握手中止
- java - 未注释的参数覆盖@NonNull 参数:我应该将解决方案代码放在哪里?