我在默认 Visual Studio 2015 ASP.NET 5 项目的 ConfigureServices
中的 Startup.cs
文件中找到了此内容:
services.AddIdentity<ApplicationUser, IdentityRole>()
.AddEntityFrameworkStores<AuthorizationDbContext>()
.AddDefaultTokenProviders();
它到底有什么作用,以及如何使用这些“默认提供程序”?它是否为我配置所有基于 token 的身份验证?我在哪里可以阅读更多相关内容?
最佳答案
尽管名称如此, token 提供程序与 token 身份验证无关:它们专门用于生成用于帐户操作(例如密码重置或电子邮件更改)和双因素身份验证的不透明 token 。
目前有 3 个内置提供程序:
DataProtectorTokenProvider
:顾名思义,它使用数据保护 block (相当于 ASP.NET Core 1.0 中的计算 secret 钥)来序列化加密 token ,稍后可以由服务器反序列化。EmailTokenProvider
和PhoneNumberTokenProvider
:这些提供程序源自TotpSecurityStampBasedTokenProvider
,它实现了基于时间的一次性密码算法
(TOTP),这是一种旨在生成用户友好的短 token 的协议(protocol),可以通过短信或电子邮件发送。
ASP.NET Core 1.0 不提供 native token 身份验证支持(仅支持 token 验证:您无法生成自己的 token )。您可以阅读这些 SO 帖子以获取更多信息:
关于asp.net - 添加默认 token 提供商 : what is it and how to use those "default providers"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35434427/