Authentication 有没有办法生成自动登录/令牌身份验证链接?

Authentication 有没有办法生成自动登录/令牌身份验证链接?,authentication,login,token,access-token,Authentication,Login,Token,Access Token,我有一个帐户,我做推荐,而不是使整个登录页,并提供我的推荐链接用户-我会让他们从我的帐户购买 我有没有办法生成一个链接,让用户自动登录而不必透露密码?您完全可以使用JSON Web令牌(JWT)之类的东西来实现这一点 基本上,它的工作方式如下: 在您的服务器上,您创建了一个JWT,该JWT使用密钥(只有您的服务器知道的一些随机字符串)签名 在JWT中,包括您希望购买的用户帐户ID 您可以通过电子邮件将此JWT发送给链接中的人,类似于https://mywebsite.com/order?tok

我有一个帐户,我做推荐,而不是使整个登录页,并提供我的推荐链接用户-我会让他们从我的帐户购买


我有没有办法生成一个链接,让用户自动登录而不必透露密码?

您完全可以使用JSON Web令牌(JWT)之类的东西来实现这一点

基本上,它的工作方式如下:

  • 在您的服务器上,您创建了一个JWT,该JWT使用密钥(只有您的服务器知道的一些随机字符串)签名
  • 在JWT中,包括您希望购买的用户帐户ID
  • 您可以通过电子邮件将此JWT发送给链接中的人,类似于
    https://mywebsite.com/order?token=
  • 用户单击该链接
  • web服务器从URL参数中取出令牌,并确保其有效(签名正确)
  • 然后,web服务器在令牌中查找帐户ID,并从用户数据库中检索该用户帐户
  • 然后,您可以使用cookie或其他方式登录该用户,并将其引导到完全登录的购买页面
这是一个非常典型的web流,对于您正在尝试做的事情来说,这是一个非常好的方法。有大量的JWT库使这项工作变得容易,所以在技术上应该不是很有挑战性

关于创建JWT,您应该知道的另一件事是,您可以设置“过期”时间。你绝对应该这样做,因为你不希望有人能够在未来几个月内使用你的令牌登录。最好的方法是生成一个持续24小时左右的令牌,然后通过电子邮件发送给用户。这样,一天后它就过期了

最后要知道的是:实际上有相当多的auth库可以简化这些东西。我自己是一本书的作者。取决于你想做什么,这实际上可能会让你的生活变得更简单,因为它可以自动生成这些令牌,并为你处理会话创建


希望有帮助

您完全可以通过使用JSON Web令牌(JWT)之类的东西来实现这一点

基本上,它的工作方式如下:

  • 在您的服务器上,您创建了一个JWT,该JWT使用密钥(只有您的服务器知道的一些随机字符串)签名
  • 在JWT中,包括您希望购买的用户帐户ID
  • 您可以通过电子邮件将此JWT发送给链接中的人,类似于
    https://mywebsite.com/order?token=
  • 用户单击该链接
  • web服务器从URL参数中取出令牌,并确保其有效(签名正确)
  • 然后,web服务器在令牌中查找帐户ID,并从用户数据库中检索该用户帐户
  • 然后,您可以使用cookie或其他方式登录该用户,并将其引导到完全登录的购买页面
这是一个非常典型的web流,对于您正在尝试做的事情来说,这是一个非常好的方法。有大量的JWT库使这项工作变得容易,所以在技术上应该不是很有挑战性

关于创建JWT,您应该知道的另一件事是,您可以设置“过期”时间。你绝对应该这样做,因为你不希望有人能够在未来几个月内使用你的令牌登录。最好的方法是生成一个持续24小时左右的令牌,然后通过电子邮件发送给用户。这样,一天后它就过期了

最后要知道的是:实际上有相当多的auth库可以简化这些东西。我自己是一本书的作者。取决于你想做什么,这实际上可能会让你的生活变得更简单,因为它可以自动生成这些令牌,并为你处理会话创建

希望有帮助