Node.js 检查是否为使用rest api的用户启用了MFA

Node.js 检查是否为使用rest api的用户启用了MFA,node.js,azure,azure-active-directory,restapi,Node.js,Azure,Azure Active Directory,Restapi,如何检查使用rest API loginWithServicePrincipalSecret为AD用户启用了MFA 有没有人可以帮我做这件事…我想用NodeSDK这样做 require(“同构提取”); const{UserAgentApplication}=require(“msal”); const{ImplicitMSALAuthenticationProvider}=require(@microsoft/microsoft-graph-client/lib/src/ImplicitMS

如何检查使用rest API loginWithServicePrincipalSecret为AD用户启用了MFA 有没有人可以帮我做这件事…我想用NodeSDK这样做

require(“同构提取”);
const{UserAgentApplication}=require(“msal”);
const{ImplicitMSALAuthenticationProvider}=require(@microsoft/microsoft-graph-client/lib/src/ImplicitMSALAuthenticationProvider”);
const{MSALAuthenticationProviderOptions}=require(@microsoft/microsoft-graph-client/lib/src/MSALAuthenticationProviderOptions”);
常量msalConfig={
认证:{
clientId:“bec52b71-dc94-4577-9f8d-b8536ed0e73d”,//已注册应用程序的客户端Id
},
};
const graphScopes=[“user.read”,“mail.send”];//图作用域数组
const msalApplication=新用户代理应用程序(msalConfig);
const Options=新的MSALAuthenticationProviderOptions(图形范围);
const authProvider=新隐式身份验证提供程序(
msalApplication,
选择权
);
常量选项={
授权提供者,
};
const Client=require(“@microsoft/microsoft图形客户端”);
const client=client.init(选项);
异步函数测试(){
试一试{
让res=等待客户
.api(“/reports/credentialUserRegistrationDetails”)
.版本(“测试版”)
.get();
console.log(“res:”,res);
}捕获(错误){
投掷误差;
}
}
test()这可以通过

要获取已向MFA注册但尚未注册的用户的信息,我们可以在中使用ismFareRegistered属性

credentialUserRegistrationDetails
帮助我们获取 自助密码重置和多因素身份验证的使用 (MFA)适用于所有注册用户。详细信息包括用户信息, 注册状态和使用的身份验证方法。 这可以通过MS Graph以编程方式实现,在MS Graph中,您将获得一个JSON报告,该报告可以插入到其他报告中,也可以以编程方式表示自身

示例:

GET https://graph.microsoft.com/beta/reports/credentialUserRegistrationDetails
{
            "id": "****************************",
            "userPrincipalName": "NKS@nishantsingh.live",
            "userDisplayName": "Nishant Singh",
            "isRegistered": false,
            "isEnabled": true,
            "isCapable": false,
            "isMfaRegistered": true,
            "authMethods": [
                "mobilePhone"
            ]
        }
样本输出:

GET https://graph.microsoft.com/beta/reports/credentialUserRegistrationDetails
{
            "id": "****************************",
            "userPrincipalName": "NKS@nishantsingh.live",
            "userDisplayName": "Nishant Singh",
            "isRegistered": false,
            "isEnabled": true,
            "isCapable": false,
            "isMfaRegistered": true,
            "authMethods": [
                "mobilePhone"
            ]
        }
节点JS的示例代码,

const options = {
    authProvider,
};

const client = Client.init(options);

let res = await client.api('/reports/credentialUserRegistrationDetails')
    .version('beta')
    .get();

要实现您的NodeJS代码,请阅读Hari Krishna中的分步指南--MSFT感谢您的回复。。。你能告诉我在authProvider const options={authProvider,};我真的不理解文档,这很难。Hi@KainatNaz,为了使用MS Graph,我们需要身份验证提供商提供的访问令牌。身份验证提供程序使用Microsoft身份验证库实现获取令牌所需的代码。请遵循我共享的分步教程。它包含满足您要求的所有步骤。谢谢,@Hari Krishna--MSFT-Identity我这样做是为了获取CredentialUserRegistration详细信息,但我得到了这个引用错误:窗口未定义**hi@Hari Krishna--MSFT-Identity这里是请查看我的代码我这样做对吗