Azure active directory 使用msal.js异步向租户授权机构和Microsoft个人帐户授权机构进行身份验证时出现nonce_不匹配_错误
我正在编写一个web应用程序,它支持对租户的Azure AD身份验证以及个人Microsoft帐户身份验证,并请求这两个身份验证提供商访问MS Graph。我正在客户端上使用msal.js库来处理身份验证 我经历过以下情况,这使我认为msal中的底层Azure active directory 使用msal.js异步向租户授权机构和Microsoft个人帐户授权机构进行身份验证时出现nonce_不匹配_错误,azure-active-directory,msal,msal.js,Azure Active Directory,Msal,Msal.js,我正在编写一个web应用程序,它支持对租户的Azure AD身份验证以及个人Microsoft帐户身份验证,并请求这两个身份验证提供商访问MS Graph。我正在客户端上使用msal.js库来处理身份验证 我经历过以下情况,这使我认为msal中的底层UserAgentApplication对象正在共享状态,并阻止我与两个提供程序进行异步身份验证 背景: 我有一个AadAuthProvider类,用于针对租户权限进行身份验证。我有一个MsaAuthProvider类,用于针对个人Microsoft
UserAgentApplication
对象正在共享状态,并阻止我与两个提供程序进行异步身份验证
背景:
我有一个AadAuthProvider
类,用于针对租户权限进行身份验证。我有一个MsaAuthProvider
类,用于针对个人Microsoft帐户授权进行身份验证。
这些类中的每一个都用自己不同的Msal.Configurations
实例化自己的UserAgentApplication
对象
观察结果
AadAuthProvider返回Promise
。acquireToken
静默返回Promise
,从调用MsaAuthProvider返回Promise
静默异步返回nonce\u错误时,acquireToken
始终失败:nonce不匹配,收到的临时订单:e5xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,预期的临时订单:a7xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx。
非匹配错误。如果我正在调试,那么根据在各个断点上花费的时间,第一个或第二个断点将失败,并出现nonce\u mismatch\u错误
AadAuthProvider.acquireToken
,然后等待MsaAuthProvider.acquireToken
,则操作都会成功UserAgentApplication
,并且msal的使用者可以独立地与它们交互
是否有方法实例化
UserAgentApplication
类,以便我可以在不同的提供者中独立使用它们?您可以使用“”作为权限。它支持工作帐户和Microsoft个人帐户。有关更多详细信息,请参阅您可以使用“”作为您的权限。它支持工作帐户和Microsoft个人帐户。有关更多详细信息,请参阅既然Azure AD V2.0,为什么不使用公共端点,它可以用于使用工作和学校帐户或Microsoft个人帐户登录用户?如果你这样做,你只需要一个实例。有关更多详细信息,请参阅自Azure AD V2.0以来,为什么不使用公共端点,它可以用于使用工作和学校帐户或Microsoft个人帐户登录用户?如果你这样做,你只需要一个实例。有关详细信息,请参阅