首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >登录Webtest Oauth2

登录Webtest Oauth2
EN

Stack Overflow用户
提问于 2018-06-21 20:27:52
回答 1查看 753关注 0票数 0

使用完整的VS企业版对我们的WebApplication进行一些负载测试,我很难创建一个有效的webtest。我们的测试站点是一个Azure WebApp/API,带有AAD身份验证前端。失败的是作为测试用户的身份验证。当与VS或小提琴录音时,我又没能重放测试。我相信这是个凭据/象征性的问题..。

由于我们的应用程序不是本地应用程序,所以我无法获得特定用户凭据的令牌。(我得到了一个已知的异常),通过使用下面的代码创建插件及其PreWebtest方法,我成功地获得了Bearer令牌,但是这是在应用程序级别,而不是特定的用户级别。

代码语言:javascript
复制
private string GetAdToken(string inClientId, string inAppKey, string 
inAadInstance, string inTenant, string inToDoResourceId)
{
// inToDoResourceId = https://graph.microsoft.com
var myCredential = new ClientCredential(inClientId, inAppKey);
string myAuthority = string.Format(CultureInfo.InvariantCulture, 
inAadInstance, inTenant);
var myAuthContext = new AuthenticationContext(myAuthority);
Task<AuthenticationResult> myResults = 
myAuthContext.AcquireTokenAsync(inToDoResourceId, myCredential);
return myResults.Result.AccessToken;
}

如何针对特定的AAD测试用户身份实现自动化(通过网络测试),以允许进一步测试我们的web应用程序的自动化?提前谢谢你,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-21 23:55:37

谢谢你的回答。我找到了一个解决问题的方法:在VS webtest工具中有一个“设置凭据”按钮,您可以在其中添加凭据。当我再次运行测试时,测试成功地登录到了我的webapp。

@GuillaumeLaHaye,是的,我知道我的AcquireTokenAsync()方法不是特定于用户的,但是当我使用带有UserCredential的方法时,我得到了这个异常:请求主体必须包含以下参数:'client_secret或client_assertion‘。

因为它是一个WebbApp/API,而不是一个本地应用程序(配置在Azure Portal中,cf )。秘密)

@AdrianHHH,Get Ad token是在preWebtest方法中的pugin中调用的(在每次测试之前运行),其中包含了我的web应用程序的clientId、clientSecret、tenantId、AadInstance (我在我的蔚蓝门户上找到了它们).从这个Oauth 2.0流中,我相信我想获得授权代码或访问令牌,但是由于我在get测试和授权流方面是新手,所以我不知道我得到了哪个令牌,也不知道如何使用它。

Oauth2.0流

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50976963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档