C# ASP.NET核心中的Microsoft身份验证-MFA

C# ASP.NET核心中的Microsoft身份验证-MFA,c#,authentication,asp.net-core,identityserver4,C#,Authentication,Asp.net Core,Identityserver4,我们正在使用ASP.NET Core和IdentityServer 4实现我们自己的联合身份验证服务器,并且首先成功实现了Microsoft帐户版本 一旦用户通过Microsoft进行身份验证,是否有办法知道在其身份验证过程中是否应用了MFA?我知道我可以在IdentityServer本身中具体实现MFA,但我不想让用户不必要地运行多个MFA周期 同样的问题也适用于任何外部提供商(谷歌、Facebook等),但我现在将与微软打交道。您可以在声明中查询发卡机构,以了解身份提供商。此外,Authen

我们正在使用ASP.NET Core和IdentityServer 4实现我们自己的联合身份验证服务器,并且首先成功实现了Microsoft帐户版本

一旦用户通过Microsoft进行身份验证,是否有办法知道在其身份验证过程中是否应用了MFA?我知道我可以在IdentityServer本身中具体实现MFA,但我不想让用户不必要地运行多个MFA周期


同样的问题也适用于任何外部提供商(谷歌、Facebook等),但我现在将与微软打交道。

您可以在声明中查询发卡机构,以了解身份提供商。此外,AuthenticationScheme还应指定身份验证提供商名称。嗯,不确定个人MS帐户身份验证。如果使用Azure AD,则如果用户通过mfa,则会有一个包含“mfa”的acr声明。如上所述,查找
acr
amr
声明,这些声明应指明用于验证用户身份的方法。