def group_invalidate(group_id): group.get_group(group_id) if request.is_json: data = request.json AccessToken = data['accessToken'] ClientToken = data.get("clientToken") result = Token.gettoken(AccessToken, ClientToken) if result: group.token_is_group(result, group_id) model.log_yggdrasil(operational="authserver.invalidate", user=result.get("user"), otherargs=json.dumps( {"clientToken": data.get("clientToken")}), IP=request.remote_addr, time=datetime.datetime.now()).save() cache_token.delete(AccessToken) else: model.log_yggdrasil(operational="authserver.invalidate", otherargs=json.dumps( {"clientToken": data.get("clientToken")}), IP=request.remote_addr, time=datetime.datetime.now(), successful=False).save() if ClientToken: raise Exceptions.InvalidToken() #User = model.user.get(email=result.email) '''if User.permission == 0: return Response(simplejson.dumps({ 'error' : "ForbiddenOperationException", 'errorMessage' : "You have been banned by the administrator, please contact the administrator for help" }), status=403, mimetype='application/json; charset=utf-8')''' return Response(status=204)
def group_PlayerHasJoined(group_id): group.get_group(group_id) args = request.args ServerID = args['serverId'] PlayerName = args['username'] RemoteIP = args['ip'] if 'ip' in args else None Successful = False Data = cache_joinserver.get(ServerID) if not Data: model.log_yggdrasil( operational="sessionserver.session.minecraft.hasJoined", IP=request.remote_addr, time=datetime.datetime.now(), successful=False).save() return Response(status=204) TokenInfo = Token.gettoken(Data['accessToken']) group.token_is_group(TokenInfo, group_id) ProfileInfo = model.getprofile_uuid_name(TokenInfo.get("bind"), name=PlayerName) if not TokenInfo or not ProfileInfo: model.log_yggdrasil( operational="sessionserver.session.minecraft.hasJoined", IP=request.remote_addr, time=datetime.datetime.now(), successful=False).save() return Response(status=204) ProfileInfo = ProfileInfo.get() Successful = PlayerName == ProfileInfo.name and [ True, RemoteIP == Data['remoteIP'] ][bool(RemoteIP)] if Successful: model.log_yggdrasil( operational="sessionserver.session.minecraft.hasJoined", user=TokenInfo.get("user"), IP=request.remote_addr, time=datetime.datetime.now()).save() result = json.dumps( model.format_profile(ProfileInfo, Properties=True, unsigned=False, BetterData=True)) return Response(result, mimetype="application/json; charset=utf-8") else: model.log_yggdrasil( operational="sessionserver.session.minecraft.hasJoined", user=TokenInfo.get("user"), IP=request.remote_addr, time=datetime.datetime.now(), successful=False).save() return Response(status=204) return Response(status=204)
def kf_invalidate(): if request.is_json: data = request.json AccessToken = data['accessToken'] ClientToken = data.get("clientToken") result = Token.gettoken(AccessToken, ClientToken) if result: cache_token.delete(".".join(['token', AccessToken])) else: if ClientToken: raise Exceptions.InvalidToken() #User = model.user.get(email=result.email) '''if User.permission == 0: return Response(simplejson.dumps({ 'error' : "ForbiddenOperationException", 'errorMessage' : "You have been banned by the administrator, please contact the administrator for help" }), status=403, mimetype='application/json; charset=utf-8')''' return Response(status=204)