【问题标题】:Unit Testing ASP.NET Core AAD Auth单元测试 ASP.NET Core AAD 身份验证
【发布时间】:2020-11-13 19:22:57
【问题描述】:

我正在使用 Selenium 在 ASP.NET Core MVC Web 应用程序中对 Azure AD 应用程序进行单元测试,除了在 DOM 中搜索登录输入元素外,我还在寻找一种更好的登录测试用户的方法。我是 Azure DevOps 中的单元测试,因此不能使用浏览器 UI 登录。有什么想法吗?

【问题讨论】:

    标签: asp.net-core asp.net-core-mvc azure-active-directory openid-connect


    【解决方案1】:

    在基于 OAuth 的技术中,如果没有交互式重定向,作为用户获取令牌并不容易。出于自动化测试目的,最简单的选择通常是使用Resource Owner Password Grant。不过,不建议在实际 UI 中将其用于生产环境。

    【讨论】:

    • 我什至不知道微软允许这样做。我能够与 client_secret 一起使用以获取访问令牌和 ID 令牌。现在我怎样才能把它放入 cookie 中?
    • 啊 - 我假设您使用的是基于令牌的 Web UI,在这种情况下,我的建议可以很好地用于测试。基于 Cookie 的应用程序具有许多隐藏的复杂性,这只是一方面。如果您需要 cookie 来调用 API,您将需要像真正的浏览器一样操作并模拟发布 DOM 元素值。
    • 这就是我现在正在做的,而且相当痛苦。那我就这样吧,因为我不想为了让单元测试更容易而切换到在客户端存储令牌。
    猜你喜欢
    • 2021-11-01
    • 2018-02-14
    • 1970-01-01
    • 2017-03-30
    • 2018-06-25
    • 2016-05-19
    • 2018-05-13
    • 2017-05-17
    • 1970-01-01
    相关资源
    最近更新 更多