使用 Asp.Net Identity core 2.1 生成用于电子邮件确认的短代码
Generate Short Code for Email Confirmation using Asp.Net Identity core 2.1
此要求发布在 SO 的其他地方,但答案包含我在 asp.net 核心 2.1 中找不到的 IUserTokenProvider。
我如何实现电子邮件确认例程,其中用户不单击 link 但会收到一个可以安全地用于确认电子邮件地址的短令牌(6 个字符)。
配置Identity时,可以传入一组选项,其中有各种场景的token provider。有一个继承自 TotpSecurityStampBasedTokenProvider<TUser>
的内置 EmailTokenProvider<TUser>
。你可以只用这个。它实际上已经通过调用 AddDefaultTokenProviders()
注册,AddIdentity<TUser, TRole>
和 AddDefaultIdentity<TUser>
方法内部调用。因此,您可以简单地使用 TokenOptions.DefaultEmailProvider
将其设置为该提供商:
services.AddDefaultIdentity<IdentityUser>(o => {
// other options: password reqs, username reqs, etc.
o.Tokens.EmailConfirmationTokenProvider = TokenOptions.DefaultEmailProvider;
});
此要求发布在 SO 的其他地方,但答案包含我在 asp.net 核心 2.1 中找不到的 IUserTokenProvider。
我如何实现电子邮件确认例程,其中用户不单击 link 但会收到一个可以安全地用于确认电子邮件地址的短令牌(6 个字符)。
配置Identity时,可以传入一组选项,其中有各种场景的token provider。有一个继承自 TotpSecurityStampBasedTokenProvider<TUser>
的内置 EmailTokenProvider<TUser>
。你可以只用这个。它实际上已经通过调用 AddDefaultTokenProviders()
注册,AddIdentity<TUser, TRole>
和 AddDefaultIdentity<TUser>
方法内部调用。因此,您可以简单地使用 TokenOptions.DefaultEmailProvider
将其设置为该提供商:
services.AddDefaultIdentity<IdentityUser>(o => {
// other options: password reqs, username reqs, etc.
o.Tokens.EmailConfirmationTokenProvider = TokenOptions.DefaultEmailProvider;
});