【发布时间】:2019-04-30 01:25:32
【问题描述】:
我在 asp.net mvc 应用程序中使用 signalR,我想验证交叉 域客户端通过基于令牌的身份验证。我没有找到完整的解决方案 它。
app.Map("/signalr", map =>
{
map.UseCors(CorsOptions.AllowAll);
map.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions()
{
Provider = new QueryStringOAuthBearerProvider()
});
var hubConfiguration = new HubConfiguration
{
Resolver = GlobalHost.DependencyResolver,
};
map.RunSignalR(hubConfiguration);
});
public class QueryStringOAuthBearerProvider : OAuthBearerAuthenticationProvider
{
public override Task RequestToken(OAuthRequestTokenContext context)
{
var value = context.Request.Query.Get("access_token");
if (!string.IsNullOrEmpty(value))
{
context.Token = value;
}
return Task.FromResult<object>(null);
}
}
public class impAuthHub : Hub
{
[Authorize]
public void SendMessage(string name, string message)
{
Clients.All.newMessage(name, message);
}
}
我不知道如何获取令牌以将查询字符串传递给我的启动类?
【问题讨论】:
-
但我正在研究 Asp.net Mvc。
标签: c# asp.net-mvc signalr access-token