【问题标题】:IdentityServer: Impersonation at Client LevelIdentityServer:客户端级别的模拟
【发布时间】:2017-08-28 07:26:19
【问题描述】:

我需要能够在应用程序/客户端级别模拟用户。 用例如下:

  • 用户决定公开共享仪表板(包含非常频繁刷新的数据、自定义组织......)
  • 用户将链接发送给其他人(其他人可能不是我的应用程序的用户)。该链接包含仪表板的 ID 和一些令牌,以防止人们只是尝试一下。
  • 当接收方浏览到该链接时,我们会验证仪表板是否存在并且公共共享以及令牌是否已激活。
  • 然后,根据仪表板配置,我们需要调用我们的 API(使用 Bearer 令牌)以获取仪表板的最新数据。 我希望客户端应用能够模拟仪表板的“所有者”,以便能够调用其名称上的 API 来获取数据。

我阅读了其他问题/票证,但他们都提到了一个用户冒充另一个用户,但我找不到任何证据表明实际上可以做我正在寻找的事情。

你能把我带到正确的方向吗?

编辑:我想说我不希望仪表板链接的接收者看到任何登录屏幕,这对他来说应该是完全透明的

【问题讨论】:

    标签: c# impersonation identityserver3


    【解决方案1】:

    我们找到了实现我们需要的方法。

    基于 this post 和那里引用的示例,我们使用了 CustomGrant 验证器。

    【讨论】:

      【解决方案2】:

      听起来您需要一个服务器应用程序来授权为所有者。在服务器上,您可以为授权保密,但不能在客户端。 然后,服务器应用程序可以有一个自定义授权客户端,它代表所有者获取访问令牌,并在仪表板公开时使用它来调用数据 API。

      这是 OAuth2.0,顺便说一句,而不是 OIDC。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-14
        • 2019-03-24
        • 2019-06-22
        • 1970-01-01
        • 2017-02-09
        • 1970-01-01
        相关资源
        最近更新 更多