Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure active directory 如何使用Microsoft.Identity.Client和集成测试在没有UI的情况下获取访问令牌_Azure Active Directory_Msal - Fatal编程技术网

Azure active directory 如何使用Microsoft.Identity.Client和集成测试在没有UI的情况下获取访问令牌

Azure active directory 如何使用Microsoft.Identity.Client和集成测试在没有UI的情况下获取访问令牌,azure-active-directory,msal,Azure Active Directory,Msal,我有一个被Azure B2C锁定的API。对于使用此API的我的客户端应用程序,所有配置均正确。我的问题与API附带的集成测试有关。虽然很明显,身份验证会触发UI登录,但如何在不弹出UI的情况下为需要身份验证的测试用例请求令牌呢 现在我必须有一个实用工具,允许我获取一个访问令牌(通过弹出一个UI),然后在我的测试项目中使用它。最终它会过期,所以所有的测试都会失败。这是有道理的,但我想知道是否有人想出了一种方法来自动化使用这个库获取令牌的过程,这样测试用例就可以在不弹出UI的情况下获取令牌。Scr

我有一个被Azure B2C锁定的API。对于使用此API的我的客户端应用程序,所有配置均正确。我的问题与API附带的集成测试有关。虽然很明显,身份验证会触发UI登录,但如何在不弹出UI的情况下为需要身份验证的测试用例请求令牌呢


现在我必须有一个实用工具,允许我获取一个访问令牌(通过弹出一个UI),然后在我的测试项目中使用它。最终它会过期,所以所有的测试都会失败。这是有道理的,但我想知道是否有人想出了一种方法来自动化使用这个库获取令牌的过程,这样测试用例就可以在不弹出UI的情况下获取令牌。Screen scraper?

看起来您需要
资源所有者密码授权流
。B2C并不正式支持这一点,但Azure Active Directory支持

请阅读以下内容:

请注意,在B2C只是像AAD(本地帐户)一样工作的场景中,您可以使用此流程。但对于Facebook和谷歌等其他社交身份提供商,您不能使用此流量

我喜欢你最初的方法,即在应用程序外部生成一个访问令牌,然后将其粘贴到应用程序中。我建议将您获得的刷新令牌添加到该令牌中,并编写代码以使用现有刷新令牌获取新令牌。差不多


让我知道这是否有帮助。

您是否已向Web Api授予Web应用程序权限?对不起……我不太清楚您的意思。我已经实现了与本文中概述的完全相同的解决方案:如果有帮助的话。如果您知道如何在没有任何用户交互的情况下自动获取XUnit集成测试的访问令牌,我可以做任何需要做的事情。很抱歉,我的评论不清楚。我认为您已经引用了此文档:。啊……这是有道理的,而且我也理解流对社会帐户不起作用。在我们过渡到B2C之前,我们使用了一个具有aspnet核心身份的常规本地帐户,并且基本上做了同样的事情来获取json令牌。感谢您的快速反馈。干杯我也投票支持该功能;)看起来你们几个月前就已经有了。