首页 > 解决方案 > Spring Boot + Ionic 应用认证

问题描述

我正在使用 Ionic 3 开发一个混合应用程序,它将与我将使用 Spring Boot 编写的 REST Api 服务进行通信。

我在设置正确的注册/登录机制时遇到了一些困难。我想要实现的是用户在移动应用程序上注册,然后使用他的用户名和密码登录,然后每当他打开应用程序时,他将始终登录(无需再次传递凭据)只要他没有点击“退出”按钮。

我尝试过的方法是,在 Spring Secutiry 的帮助下,当用户使用他的凭据登录时,他会收到一个 JWT 令牌,该令牌保存在客户端(应用程序端),然后在每个 subseqnet 请求的标头中使用。

我对这个解决方案的问题是我必须设置 JWT 到期日期(如 10 天、30 天),然后,当该时间过去时,用户必须再次输入他的凭据才能接收新令牌. 我想避免这种情况。另一个问题是,如果有这种必要性,没有使 JWT 令牌无效的机制。

另一种选择是我认为将访问令牌有效期设置为 30 分钟,然后接收带有刷新令牌的新令牌。但是,这还需要客户端 ID 和客户端密码,我认为将它们存储在客户端应用程序中也不安全。

这种情况的最佳做法是什么?请帮助并感谢:)

标签: javaspringspring-bootsecurityauthentication

解决方案


Ionic 的存储模块可能会有所帮助。

想法:第一次发送身份验证请求如果数据通过身份验证,则将响应保存在本地存储中(基本上是用户数据)如果用户注销,您可以删除存储。

更多信息可以在 离子存储上找到


推荐阅读