我正在使用Spring Boot,不知道如何设计注册确认过程。
- UUID是生成随机令牌的最佳选择吗?我看到人们写";不,不是";但他们没有解释为什么以及什么更好
- 很多人也建议避免通过GET param发送令牌,因为有人可能会窃取它。他们鼓励在请求体中发送带有令牌的POST请求,但如何通过电子邮件发送POST请求?使用?但是,我的服务器应该能够处理这个请求,但这种类型的请求适合REST应用程序?或者,是否有可能通过电子邮件发送带有json主体的POST请求
我无法决定如何解决这些问题。
UUID似乎是一个非常好的令牌解决方案。我看不出有什么问题。
关于问题2:如果您有令牌,它将被多次使用,那么在GET请求中使用该令牌确实是个坏主意。但是,对于注册确认,您通常只有一次使用有效的令牌。因此,一旦有人使用了令牌,您就应该将该令牌标记为无效。在这种情况下,在GET请求中使用它不会带来任何安全风险。此外,令牌本身应该只用于标记用户帐户,但不应该允许用户在点击链接后自动登录。那你应该没事了。