Force logout all clients when changing the admin password
This commit is contained in:
@@ -138,8 +138,15 @@ def check_credentials(username=None, password=None, token=None, admin_login='0',
|
||||
return False, None, None
|
||||
|
||||
|
||||
def jwt_uuid(refresh=False):
|
||||
if not plexpy.CONFIG.JWT_UUID or refresh:
|
||||
plexpy.CONFIG.JWT_UUID = plexpy.generate_uuid()
|
||||
plexpy.CONFIG.write()
|
||||
return plexpy.CONFIG.JWT_UUID
|
||||
|
||||
|
||||
def check_jwt_token():
|
||||
jwt_cookie = JWT_COOKIE_NAME + plexpy.CONFIG.PMS_UUID
|
||||
jwt_cookie = JWT_COOKIE_NAME + jwt_uuid()
|
||||
jwt_token = cherrypy.request.cookie.get(jwt_cookie)
|
||||
|
||||
if jwt_token:
|
||||
@@ -285,7 +292,7 @@ class AuthController(object):
|
||||
if payload:
|
||||
self.on_logout(payload['user'], payload['user_group'])
|
||||
|
||||
jwt_cookie = JWT_COOKIE_NAME + plexpy.CONFIG.PMS_UUID
|
||||
jwt_cookie = JWT_COOKIE_NAME + jwt_uuid()
|
||||
cherrypy.response.cookie[jwt_cookie] = 'expire'
|
||||
cherrypy.response.cookie[jwt_cookie]['expires'] = 0
|
||||
cherrypy.response.cookie[jwt_cookie]['path'] = '/'
|
||||
@@ -331,14 +338,14 @@ class AuthController(object):
|
||||
success=True,
|
||||
oauth=bool(token))
|
||||
|
||||
jwt_cookie = JWT_COOKIE_NAME + plexpy.CONFIG.PMS_UUID
|
||||
jwt_cookie = JWT_COOKIE_NAME + jwt_uuid()
|
||||
cherrypy.response.cookie[jwt_cookie] = jwt_token
|
||||
cherrypy.response.cookie[jwt_cookie]['expires'] = int(time_delta.total_seconds())
|
||||
cherrypy.response.cookie[jwt_cookie]['path'] = '/'
|
||||
|
||||
cherrypy.request.login = payload
|
||||
cherrypy.response.status = 200
|
||||
return {'status': 'success', 'token': jwt_token.decode('utf-8'), 'uuid': plexpy.CONFIG.PMS_UUID}
|
||||
return {'status': 'success', 'token': jwt_token.decode('utf-8'), 'uuid': jwt_uuid()}
|
||||
|
||||
elif admin_login == '1' and username:
|
||||
self.on_login(username=username)
|
||||
|
Reference in New Issue
Block a user