mirror of
https://github.com/FastTunnel/FastTunnel.git
synced 2025-02-08 02:39:29 +08:00
修复tokens问题
This commit is contained in:
parent
8c7fb34589
commit
b96a97fe1c
|
@ -16,7 +16,7 @@ namespace FastTunnel.Core.Config
|
||||||
[Obsolete("由Tokens替换")]
|
[Obsolete("由Tokens替换")]
|
||||||
public string Token { get; set; }
|
public string Token { get; set; }
|
||||||
|
|
||||||
public string[] Tokens { get; set; }
|
public List<string> Tokens { get; set; }
|
||||||
|
|
||||||
public ApiOptions Api { get; set; }
|
public ApiOptions Api { get; set; }
|
||||||
|
|
||||||
|
|
|
@ -97,24 +97,25 @@ namespace FastTunnel.Core.MiddleWares
|
||||||
|
|
||||||
private bool checkToken(HttpContext context)
|
private bool checkToken(HttpContext context)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(fastTunnelServer.ServerOption.CurrentValue.Token)
|
bool checkToken = false;
|
||||||
&& (fastTunnelServer.ServerOption.CurrentValue.Tokens == null) || fastTunnelServer.ServerOption.CurrentValue.Tokens.Count() == 0)
|
if ((fastTunnelServer.ServerOption.CurrentValue.Tokens != null && fastTunnelServer.ServerOption.CurrentValue.Tokens.Count() != 0)
|
||||||
|
|| !string.IsNullOrEmpty(fastTunnelServer.ServerOption.CurrentValue.Token))
|
||||||
{
|
{
|
||||||
return true;
|
checkToken = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!checkToken)
|
||||||
|
return true;
|
||||||
|
|
||||||
// 客户端未携带token,登录失败
|
// 客户端未携带token,登录失败
|
||||||
if (!context.Request.Headers.TryGetValue(FastTunnelConst.FASTTUNNEL_TOKEN, out var token))
|
if (!context.Request.Headers.TryGetValue(FastTunnelConst.FASTTUNNEL_TOKEN, out var token))
|
||||||
{
|
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
|
|
||||||
if (token.Equals(fastTunnelServer.ServerOption.CurrentValue.Token))
|
if (token.Equals(fastTunnelServer.ServerOption.CurrentValue.Token)
|
||||||
{
|
|| (fastTunnelServer.ServerOption.CurrentValue.Tokens?.Contains(token) ?? false))
|
||||||
return true;
|
return true;
|
||||||
};
|
|
||||||
|
|
||||||
return fastTunnelServer.ServerOption.CurrentValue.Tokens?.Contains<string>(token) ?? false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,7 +54,7 @@ namespace FastTunnel.Core.Forwarder.MiddleWare
|
||||||
responseAwaiter.TrySetResult(reverseConnection);
|
responseAwaiter.TrySetResult(reverseConnection);
|
||||||
|
|
||||||
var closedAwaiter = new TaskCompletionSource<object>();
|
var closedAwaiter = new TaskCompletionSource<object>();
|
||||||
closedAwaiter.SetTimeOut(1000 * 60 * 30, null);
|
closedAwaiter.SetTimeOut(20000, null);
|
||||||
|
|
||||||
lifetime.ConnectionClosed.Register((task) =>
|
lifetime.ConnectionClosed.Register((task) =>
|
||||||
{
|
{
|
||||||
|
|
|
@ -23,9 +23,9 @@
|
||||||
// 可选,是否开启端口转发代理,禁用后不处理Forward类型端口转发.默认false。
|
// 可选,是否开启端口转发代理,禁用后不处理Forward类型端口转发.默认false。
|
||||||
"EnableForward": true,
|
"EnableForward": true,
|
||||||
|
|
||||||
// 可选,当不为空时,客户端也必须携带Token或Tokens中的任意一个token,否则拒绝登录。
|
// 可选,当不为空时,客户端也必须携带Token或Tokens中的任意一个token,否则拒绝登录 Token未来将会移除由Tokens替代。
|
||||||
"Token": "TOKEN_FOR_CLIENT_AUTHENTICATION",
|
//"Token": "TOKEN_FOR_CLIENT_AUTHENTICATION",
|
||||||
"Tokens": [ "TOKEN1", "TOKEN2", "TOKEN2" ],
|
"Tokens": [ "TOKEN_FOR_CLIENT_AUTHENTICATION" ],
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 访问api接口的JWT配置
|
* 访问api接口的JWT配置
|
||||||
|
|
Loading…
Reference in New Issue
Block a user