作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道将在我的 spring boot 应用程序中生成的 JWT 发送到我的 Flutter 移动应用程序的最佳和安全方式是什么。我可以将它发送到响应正文中,我知道这在网络中不是一个好的做法,但对于移动设备来说这是个问题吗?
这是我返回 JWT 的方式:
public ResponseEntity<?> signin(String username, String password) {
try {
authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(username, password));
String token= jwtTokenProvider.createToken(username, userRepository.findByUsername(username).getRoles());
//return new JwtResponse(token,username,userRepository.findByUsername(username).getRoles());
return ResponseEntity.ok(new AuthToken(token));
} catch (AuthenticationException e) {
throw new CustomException("Invalid username/password supplied", HttpStatus.UNPROCESSABLE_ENTITY);
}
}
最佳答案
无论您如何发送 JWT token ,无论是在 header 还是在正文部分。它可以很容易地被其他人通过客户端上的一些应用程序看到和复制。
您可以采取的保护数据的步骤是
created-at
字段,您可以在其中发送 token 创建时间的时间戳。这将防止有人在 token 被盗后永远冒充 token 的所有者,因为 token 在一段时间后将失效。在采取这些安全措施后,您可以简单地在响应的正文部分发送您的 token 。当然,还有更多最佳实践可供遵循,但这些都是一个很好的起点。
关于spring-boot - 如何将 JWT 从 spring boot 发送到 Flutter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68848632/
我是一名优秀的程序员,十分优秀!