Microsoft graph api 对于所有Microsoft帐户,与Node.js一起使用哪个身份验证库

Microsoft graph api 对于所有Microsoft帐户,与Node.js一起使用哪个身份验证库,microsoft-graph-api,msal,Microsoft Graph Api,Msal,我正在尝试创建一个Amazon Alexa服务,它将利用Microsoft Graph。。。这是使用Node.js构建的 当前,当使用我的标准Outlook.com Microsoft帐户登录时,我会被重定向到一个Microsoft页面,其中显示 Microsoft帐户不可用 此网站无法使用Microsoft帐户,因此您无法登录或注册。站点可能遇到问题 您可以登录或注册其他Microsoft站点和服务,或稍后在此站点重试 我一直在使用https://login.microsoftonline.c

我正在尝试创建一个Amazon Alexa服务,它将利用Microsoft Graph。。。这是使用Node.js构建的

当前,当使用我的标准Outlook.com Microsoft帐户登录时,我会被重定向到一个Microsoft页面,其中显示

Microsoft帐户不可用

此网站无法使用Microsoft帐户,因此您无法登录或注册。站点可能遇到问题

您可以登录或注册其他Microsoft站点和服务,或稍后在此站点重试

我一直在使用
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
作为Alexa配置帐户链接部分中的我的授权URL。并在代码中使用节点库


我想知道我使用的节点库是否正确?它被弃用了吗?或者这里还发生了什么事?

对Microsoft Graph的一个常见误解是API和身份验证之间的问题分离

您实际上并没有针对Microsoft Graph进行身份验证。相反,您可以根据保存帐户的目录进行身份验证,对于组织帐户,这是Active directory,对于消费者帐户,这是Outlook.com

一旦通过身份验证,在调用Microsoft Graph API时,就可以使用收到的令牌来标识自己

这就是你(和许多其他人)一开始被绊倒的地方。正如有两个关注点(Auth和API)一样,也有两个独立的SDK。对于您要查找的Node.js:

  • :这将处理Azure AD和Microsoft帐户的身份验证

    npm安装msal

  • :这是Microsoft Graph的客户端库。它将提供简化API调用所需的对象和方法

    npm安装@microsoft/microsoft图形客户端

这将为您提供入门所需的工具。在应用程序注册、OAUTH和管理员同意方面,您可能也会遇到一些问题。对于这些,您可能会发现以下内容很有帮助:


希望这有帮助

我想您可以毫无问题地登录Outlook.com吗?您是否尝试使用此帐户登录?Hey@Marclafler MSFT是的,我可以登录到图形浏览器,我可以使用outlook帐户以及Microsoft为我的标准Microsoft帐户提供的所有其他服务。您在标记中提到了MSAL,您是否使用它来处理身份验证工作流?如果是这样的话,你能提供一些代码来说明你是如何使用它的吗?@marclafler-MSFT我提到了MSAL,因为我不确定哪个是正确的身份验证库。我目前正在使用,但看到这可能被弃用,并且MSAL被表示为正确的身份验证库。但MSAL似乎不适用于Node.js应用程序?前两个应用程序出现了一些奇怪的情况。修正了。看起来MSAL只适用于浏览器?是否有一种通过后端调用登录的方法?用于JavaScript的MSAL库适用于客户端JS,但对于其他环境有其他MSAL风格: