Exemplo n.º 1
0
    def get_access_token(request, redirect_uri):
        DBconn.connectDB()

        user_id = request.session["user_id"]
        if user_id:
            record = DBwrapper.getRecordFromOffice(user_id)
            current_token = record[0][4]
            refresh_token = record[0][5]
            expiration = record[0][6]

            now = int(time.time())
            if (current_token and now < expiration):
                # Token still valid
                return current_token
            else:
                # Token expired
                #refresh_token = request.session['refresh_token']

                new_tokens = Auth.get_token_from_refresh_token(
                    refresh_token, redirect_uri)
                expiration = int(time.time()) + new_tokens['expires_in'] - 300
                DBwrapper.refreshTokenOffice(user_id,
                                             new_tokens['access_token'],
                                             new_tokens['refresh_token'],
                                             expiration)

                # Save the token in the session
                request.session['access_token'] = new_tokens['access_token']
                request.session['refresh_token'] = new_tokens['refresh_token']
                request.session['token_expires'] = expiration

                return new_tokens['access_token']
        else:
            return 0
Exemplo n.º 2
0
def get_access_token(request, redirect_uri):
    DBconn.connectDB()
    current_token = request.session['access_token']
    expiration = request.session['token_expires']
    now = int(time.time())
    if (current_token and now < expiration):
        # Token still valid
        return current_token
    else:
        # Token expired
        refresh_token = request.session['refresh_token']
        new_tokens = get_token_from_refresh_token(refresh_token, redirect_uri)

        # Update session
        # expires_in is in seconds
        # Get current timestamp (seconds since Unix Epoch) and
        # add expires_in to get expiration time
        # Subtract 5 minutes to allow for clock differences
        expiration = int(time.time()) + new_tokens['expires_in'] - 300

        # Save the token in the session
        request.session['access_token'] = new_tokens['access_token']
        request.session['refresh_token'] = new_tokens['refresh_token']
        request.session['token_expires'] = expiration

        return new_tokens['access_token']
Exemplo n.º 3
0
def get_signin_url(redirect_uri):
    DBconn.connectDB()
    # Build the query parameters for the signin url
    params = {
        'client_id': client_id,
        'redirect_uri': redirect_uri,
        'response_type': 'code',
        'scope': ' '.join(str(i) for i in scopes)
    }
    signin_url = authorize_url.format(urlencode(params))
    return signin_url
Exemplo n.º 4
0
 def refreshTokenOffice(user_id, access_token, refresh_token, expiration):
     DBconn.refreshTokenOffice(user_id, access_token, refresh_token,
                               expiration)
     return
Exemplo n.º 5
0
 def getRecordFromOffice(user_id):
     access_token = DBconn.getRecordFromOffice(user_id)
     return access_token
Exemplo n.º 6
0
 def addTokenToOffice(user, mail, token, access_token, refresh_token,
                      expiration, session_state):
     DBconn.addTokenOffice(user, mail, token, access_token, refresh_token,
                           expiration, session_state)
     return
Exemplo n.º 7
0
 def getMailsFromOfficeAcc(id):
     mails = DBconn.getEmailOffice(id)
     return mails
Exemplo n.º 8
0
 def getOfficeAcc():
     accounts = DBconn.getAccountsOffice()
     return accounts
Exemplo n.º 9
0
 def DBwrapper():
     DBconn.connectDB()
     return