如何判断用户设置了两个因素提供商?

时间:2019-02-28 17:20:10

标签: c# asp.net asp.net-core asp.net-identity

我正在尝试在.NET核心应用程序中实现基于应用程序的身份验证和SMS两因素身份验证。用户将能够使用其中一个,而我不打算让他们同时使用两者。我已经为用户设置了所有组件并同时登录了两者,但是我一直想确定用户何时登录该用户使用哪种TFA。我需要知道是否只是将他们带到代码输入页面以从他们的应用程序中输入令牌,还是先通过SMS发送令牌。

我可以通过使用userManager.GetTwoFactorEnabledAsync来确定是否已全面启用它,但是在Identity中找不到任何方法来保存或检索用户设置的方法。我看到了GetAuthenticatorKeyAsync方法,我猜想我可以用来确定他们是否设置了身份验证器应用程序,但这不够精确-如果我添加了另一种类型的应用tfa(例如电子邮件),我不知道有什么区别。

我可以很轻松地与用户手动将其保存在数据库中,但是如果有一种方法可以在Identity自身中进行,那么我宁愿这样做。

0 个答案:

没有答案