Exemple #1
0
def GetUserToken(uID, tokenMaxAge=None):
    u = GetUserByID(uID)
    if u:
        t = Token(created=time.time(),
                  token=secrets.token_urlsafe(),
                  expires=time.time() +
                  GetTokenMaxAge(uID) if tokenMaxAge == None else time.time() +
                  tokenMaxAge)
        u.currentTokens.append(t)

        ct = 0
        for _ in range(len(u.currentTokens)):
            if u.currentTokens[ct].expires < time.time():
                u.currentTokens.pop(ct)
                # Remove expired token and don't update index
            else:
                ct += 1

        try:
            u.save()
            return {
                'code': 0,
                'message': 'Successfully got the token',
                'token': t.token
            }
        except:
            return {
                'code': -1,
                'message': 'Could not acquire token',
                'token': None
            }
    return {'code': -1, 'message': 'Could not acquire token', 'token': None}