我在我的 asp.net web api 2 webservice(不是 .net 核心)上使用 TOTP 实现 2FA。
该实现使用Microsoft.AspNet.Identity 框架提供的TotpSecurityStampBasedTokenProvider 。
在查看 Google Authenticator 要求时,它列出了密钥需要是 base32 编码的字符串。
如果您查看来自 TotpSecurityStampBasedTokenProvider 的代码,它使用用户的 SecurityStamp 作为由身份框架生成的秘密。这是一个 GUID,而不是 base32 编码的字符串。
根据Google Authenticator的规范,要求密钥是 base32 编码的字符串。
如何使用 TotpSecurityStampBasedTokenProvider 与 Google Authenticator 一起使用?