我正在尝试在OWIN的帮助下使用OAuth 2和Bearer Token在Web API 2解决方案中实现双因素身份验证(2FA) . 我知道带有Bearer Token的2FA不是一个标准的工作流程,但有没有人成功完成这个?

基本上,我有两个需要满足的场景:

  • 用户凭据正确无需2FA,因此请返回完整的授权令牌 . 我已经完成并正常工作,并使用具有[Authorize]属性的Web API控制器中的方法 .

  • 用户凭据是正确的但需要2FA,因此我想返回一个无法授予其完全访问权限的有效令牌,因此Web API控制器中带有[Authorize]属性的方法不允许访问 .

成功输入安全代码后,我想生成一个新的完整承载令牌,如上面的场景1所示,并返回该令牌,给予完全授权访问权限 .

我正在使用Identity 2来创建安全代码并通过电子邮件发送代码,这样可以正常工作,但我正在努力解决的领域是覆盖的GrantResourceOwnerCredentials方法,以满足上述两种情况 . 任何信息或代码示例将不胜感激 .