【问题标题】:identityserver3 & MVC (web socket) & "websocket server" architectureidentityserver3 & MVC (web socket) & "websocket server" 架构
【发布时间】:2025-12-12 22:20:05
【问题描述】:

我想在 MVC 上实现 identityserver3 身份验证和授权。我在 MVC 应用程序上使用网络套接字。我有一个自托管网络套接字服务器(SHWSS)。我的客户端 Web 套接字与我的 SHWSS 通信。在身份服务器上成功登录后,我如何将这些声明和令牌用于 websocket 到 SHWSS 安全性。 我不希望我的 SHWSS 回答 unauth 请求。

我认为这是某种 SSO 场景。 SHWSS 必须实现哪个流程?

感谢和问候

public enum Flows
{
    AuthorizationCode = 0,  //introduced in OAuth2 then extended by OIDC.
    Implicit = 1,           //introduced in OAuth2 then extended by OIDC.
    Hybrid = 2,             //introduced in OIDC
    ClientCredentials = 3,  //OIDC specs didn't extend this flow.
    ResourceOwner = 4,      //OIDC specs didn't extend this flow.
    Custom = 5,
}

【问题讨论】:

    标签: identityserver3


    【解决方案1】:

    Web 套接字的问题在于 JS API 不允许设置自定义请求标头(如授权,因此您可以传递不记名令牌)。我认为假设是您将使用 cookie 作为身份验证机制。

    另一个想法是将访问令牌作为自定义参数传递给每个 Web 套接字请求。

    【讨论】:

    • 据我了解,我可以使用 cookie 或将访问令牌作为参数发送。 :) 我应该用 IdentityServer3 确认这些吗?我的意思是自托管网络套接字服务器(SHWSS)应用程序是否应该使用 Identity Server 3 检查这些?是否有一个我可以这样做的端点,即如果记录了此访问令牌,请给我一个答复。非常感谢您的努力,谢谢