gpt4 book ai didi

asp.net-core - ASP.Net Core SignalR 不记名 token 协商

转载 作者:行者123 更新时间:2023-12-04 04:17:16 25 4
gpt4 key购买 nike

从阅读 Microsoft docs在使用 SignalR 进行身份验证时,使用不记名 token 进行身份验证的唯一方法似乎是将其发送到 WebSocket 连接上的查询字符串中。

在检查 SignalR 握手时,看起来授权 header 包含在协商调用中。由于连接 ID 在协商响应中返回,服务器可以跟踪该连接 ID 是否已通过身份验证。

为什么还需要将不记名 token 添加到 Websocket 连接查询字符串?

最佳答案

看来这是您问题的线索。

When using WebSockets or Server-Sent Events, the browser client sends the access token in the query string. Receiving the access token via query string is generally secure as using the standard Authorization header. Always use HTTPS to ensure a secure end-to-end connection between the client and the server.



Security considerations in ASP.NET Core SignalR

这是替代方案:

SignalR can be used with ASP.NET Core authentication to associate a user with each connection. In a hub, authentication data can be accessed from the HubConnectionContext.User property. Authentication allows the hub to call methods on all connections associated with a user. For more information, see Manage users and groups in SignalR. Multiple connections may be associated with a single user.



Authenticate users connecting to a SignalR hub

额外的:
但是,我认为您也可以尝试对服务器和客户端进行一些注入(inject)。在服务器上,例如。使用 websocket 助手和客户端,例如。使用 Promise 与 XMLHttpRequest。

关于asp.net-core - ASP.Net Core SignalR 不记名 token 协商,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60439310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com