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