【问题标题】:How to integration test an API protected resource requiring a subject claim如何集成测试需要主题声明的 API 保护资源
【发布时间】:2018-08-01 04:12:28
【问题描述】:

客户端应用程序将使用 OpenID Connect 允许用户授予权限以代表他们访问受保护的资源 - 在本例中为 API。在这个过程中,客户端将在访问令牌中获得所需的声明,同时也获得子(或主题)。

受保护的 API 端点,例如:/users/{userId}/personaldata 将确保访问此端点的客户端的 ClaimsIdentity 包含正确值的 UserId 的声明,但也存在“子” ,只有在用户/个人经过身份验证时才会出现。

我的问题是:如何在集成测试中冒充他人?

我可以创建一个测试客户端并添加必要的声明,但永远不会有一个“子”,所以总是会在未经授权的情况下返回。

【问题讨论】:

    标签: security asp.net-web-api2 integration-testing openid-connect


    【解决方案1】:

    我认为 sub 很特别,但它和其他声明一样,可以添加到测试客户端。

    因此,您可以使用测试客户端的客户端凭据流获取访问令牌。确保将所需的声明添加到测试客户端,这将使您通过端点的身份验证。还要添加一个名为“sub”的声明;值是什么无关紧要 - 这会给人一种用户已通过身份验证的印象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-18
      • 2013-07-02
      • 1970-01-01
      • 2012-03-15
      • 1970-01-01
      • 2019-06-14
      • 2016-08-28
      • 1970-01-01
      相关资源
      最近更新 更多