我有用于API身份验证的IdentityServer4设置,尽管我有一个用例,我想验证guest(用户)本质上是一个有效的用户。在我的情况下,有效用户是拥有有效电子邮件地址的任何人,因此我想执行以下操作:
我想知道是否可以/应该使用IdentityServer4来实现上述目标?
他们的tools表明你可以生成一个令牌,虽然我对这个主题很新,所以希望得到一些指导。
答案 0 :(得分:5)
不,Identity Server处理的令牌是access_tokens,它与基于声明的身份验证有关。
您需要用于电子邮件验证的令牌通常称为用户令牌或一次性密码(OTP)。您可以使用这些搜索术语找到有关如何生成/使用这些搜索术语的大量信息,但如果您使用asp UserManager
这样的aspnet身份类,则会发现它具有一些内置读取功能。或者,您可以使用UserTokenProvider
注册自己的UserManager
。
一般来说,你会做这样的事情:
如果您希望他们在登录时直接将OTP输入您的应用程序,那么您可以跳过通过电子邮件发送链接的整个混搭部分,并直接通过电子邮件发送简短的OTP。