Exemplo n.º 1
0
def callback():
    if request.values.get('error'):
        return request.values['error']
    discord = api_functions.make_session(state=session.get('oauth2_state'))
    discord_token = discord.fetch_token(
        app.config['TOKEN_URL'],
        client_secret=app.config['OAUTH2_CLIENT_SECRET'],
        authorization_response=request.url)
    if not discord_token:
        return redirect(url_for('ohno'))

    session['oauth2_token'] = discord_token

    # Fetch the user
    user = api_functions.get_user(discord_token)
    # if not user:
    #     return redirect(url_for('logout'))
    # Generate api_key from user_id
    serializer = JSONWebSignatureSerializer(app.config['SECRET_KEY'])
    api_key = str(serializer.dumps({'user_id': user['id']}))
    # Store api_token in client session
    api_token = {'api_key': api_key, 'user_id': user['id']}
    session.permanent = True
    session['api_token'] = api_token
    #return redirect(url_for('.me'))
    return redirect(
        url_for('mod_site.dashboard', user_id=session['api_token']['user_id']))
Exemplo n.º 2
0
def me():
    discord = api_functions.make_session(token=session.get('oauth2_token'))
    user = discord.get(app.config['API_BASE_URL'] + '/users/@me').json()
    guilds = discord.get(app.config['API_BASE_URL'] +
                         '/users/@me/guilds').json()
    connections = discord.get(app.config['API_BASE_URL'] +
                              '/users/@me/connections').json()
    return jsonify(user=user, guilds=guilds, connections=connections)
Exemplo n.º 3
0
def login():
    # scope = request.args.get(
    #     'scope',
    #     'identify email connections guilds guilds.join')
    scope = ['identify', 'email', 'guilds', 'connections', 'guilds.join']
    discord = api_functions.make_session(scope=scope)
    authorization_url, state = discord.authorization_url(
        app.config['AUTHORIZATION_BASE_URL'],
        # access_type="offline"
    )
    session['oauth2_state'] = state
    return redirect(authorization_url)
Exemplo n.º 4
0
def login():
    """[summary]
    
    Returns:
        [type] -- [description]
    """
    scope = ['identify', 'email', 'guilds', 'connections', 'guilds.join']
    discord = api_functions.make_session(scope=scope)
    authorization_url, state = discord.authorization_url(
        app.config['AUTHORIZATION_BASE_URL'], )
    session['oauth2_state'] = state
    return redirect(authorization_url)
Exemplo n.º 5
0
def me():
    """[summary]
    
    Returns:
        [type] -- [description]
    """
    discord = api_functions.make_session(token=session.get('oauth2_token'))
    user = discord.get(app.config['API_BASE_URL'] + '/users/@me').json()
    guilds = discord.get(app.config['API_BASE_URL'] +
                         '/users/@me/guilds').json()
    connections = discord.get(app.config['API_BASE_URL'] +
                              '/users/@me/connections').json()
    return jsonify(user=user, guilds=guilds, connections=connections)