IdentityServer:客户端级别的冒充

问题描述:

我需要能够在应用/客户端级别冒充用户。 使用情况如下:IdentityServer:客户端级别的冒充

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

我读过其他问题/门票,但他们都提到了冒充另一个用户的用户,但我找不到任何证据表明它实际上有可能做我正在寻找的东西。

您能否以正确的方向开车?

编辑:我想这是没有用的说,我不希望仪表盘链路的接收器看到任何登录屏幕,这应该是完全透明的,他

我们找到了一种方法来实现我们所需要的。

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

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

这是OAuth2.0,btw,而不是OIDC。