Commit 4a962d21 authored by ibuler's avatar ibuler

[Bugfix] 修复connect with token的bug

parent 75a776dd
...@@ -104,7 +104,8 @@ class SSHConnection: ...@@ -104,7 +104,8 @@ class SSHConnection:
ssh.connect(gateway.ip, port=gateway.port, ssh.connect(gateway.ip, port=gateway.port,
username=gateway.username, username=gateway.username,
password=gateway.password, password=gateway.password,
pkey=gateway.private_key_obj) pkey=gateway.private_key_obj,
timeout=TIMEOUT)
except(paramiko.AuthenticationException, except(paramiko.AuthenticationException,
paramiko.BadAuthenticationType, paramiko.BadAuthenticationType,
SSHException): SSHException):
......
...@@ -34,6 +34,10 @@ class BaseNamespace(Namespace): ...@@ -34,6 +34,10 @@ class BaseNamespace(Namespace):
user = app_service.check_user_cookie(session_id, csrf_token) user = app_service.check_user_cookie(session_id, csrf_token)
if token: if token:
user = app_service.check_user_with_token(token) user = app_service.check_user_with_token(token)
msg = "Get current user: session_id<{}> token<{}> => {}".format(
session_id, token, user
)
logger.debug(msg)
return user return user
...@@ -149,12 +153,9 @@ class ProxyNamespace(BaseNamespace): ...@@ -149,12 +153,9 @@ class ProxyNamespace(BaseNamespace):
token = message.get('token', None) token = message.get('token', None)
secret = message.get('secret', None) secret = message.get('secret', None)
win_size = message.get('size', (80, 24)) win_size = message.get('size', (80, 24))
room = self.new_room()
self.emit('room', {'room': room["id"], 'secret': secret})
if not token or not secret: if not token or not secret:
logger.debug("Token or secret is None: {}".format(token, secret)) logger.debug("Token or secret is None: {}".format(token, secret))
self.emit('data', {'data': "\nOperation not permitted!",
'room': room["id"]})
self.emit('disconnect') self.emit('disconnect')
return None return None
...@@ -162,14 +163,12 @@ class ProxyNamespace(BaseNamespace): ...@@ -162,14 +163,12 @@ class ProxyNamespace(BaseNamespace):
logger.debug(info) logger.debug(info)
if not info: if not info:
logger.debug("Token info is None") logger.debug("Token info is None")
self.emit('data', {'data': "\nOperation not permitted!",
'room': room["id"]})
self.emit('disconnect') self.emit('disconnect')
return None return None
user_id = info.get('user', None) user_id = info.get('user', None)
self.current_user = app_service.get_user_profile(user_id) self.current_user = app_service.get_user_profile(user_id)
room["request"].user = self.current_user # room["request"].user = self.current_user
self.on_host({ self.on_host({
'secret': secret, 'secret': secret,
'uuid': info['asset'], 'uuid': info['asset'],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment