我们的应用通过IdentityServer4的实现使用OAuth2 / OIDC进行了身份验证。
通常,用户通过浏览器通过隐式流登录。
我们希望第三方应用程序能够嵌入我们的应用程序,因此必须能够静默登录我们的应用程序。我们不能依赖使用OAuth进行身份验证的第三方应用程序;不能选择SSO。
我打算做的是为每个第三方客户端分配一个客户端ID和密码。第三方应用程序将使用这些客户端凭据以及将嵌入在令牌中的其他用户ID声明来请求访问令牌(在服务器端通道上)。然后可以将该访问令牌包含在隐式流登录请求中。如果存在,则正常的隐式流将被跳过,它将使用令牌中的用户ID进行身份验证。
这是从第三方应用程序获得静默身份验证的有效方法吗?我应该使用另一种流程来实现这一目标吗?
我知道以前曾询问过有关假冒的问题(如果是这样的话)(例如IdentityServer4 - How to Implement Impersonation)。
但是,我想澄清一下我的上述方法是对还是错。
非常感谢。