Loading portal/rest/auth/gitlab.py +5 −9 Original line number Diff line number Diff line import logging from flask import Blueprint, Flask, Config, url_for, request, redirect, session, jsonify, \ make_response from flask import Blueprint, url_for, request, redirect, session, make_response from flask_oauthlib.client import OAuth, OAuthRemoteApp from portal import oauth from portal.database.models import User from portal.service import service from portal.service.service import find_user log = logging.getLogger(__name__) Loading Loading @@ -47,10 +47,6 @@ def oauth_login(): return gitlab.authorize(callback=callback) def user_oauth_login(user): pass def user_oauth_register(user_info): new_user = User( uco=None, Loading @@ -64,11 +60,11 @@ def user_oauth_register(user_info): def user_login(user_info): user = User.query.find_by(username=user_info['user_name']) user = find_user(user_info['username']) if not user: return user_oauth_register(user_info) user_oauth_register(user_info) resp = make_response(redirect(oauth.app.config.get('FRONTEND_URL'))) resp.set_cookie('user_name', user.username) resp.set_cookie('username', user.username) return resp Loading portal/rest/auth/login.py +2 −2 Original line number Diff line number Diff line Loading @@ -30,8 +30,8 @@ class Login(Resource): raise PortalAPIError(400, message="Missing login type.") if data['type'] == 'user': username = data.get('username') password = data.get('password') username = data.get('username', None) password = data.get('password', None) gitlab_access_token = data.get('gitlab_access_token', None) client = login_user(gitlab_access_token, password, username) Loading portal/service/auth.py +8 −2 Original line number Diff line number Diff line from portal.service.errors import IncorrectPasswordError, UnauthorizedError from portal.service.errors import IncorrectPasswordError, UnauthorizedError, PortalAPIError from portal.service.service import find_user, find_component Loading @@ -20,11 +20,17 @@ def auth_gitlab_access_token(username, gitlab_access_token): Verify that token is for user Args: gitlab_access_token: username: username of the user attempting to log in gitlab_access_token: access token string from gitlab Returns: the authenticated user """ if gitlab_access_token is None: raise PortalAPIError(400, 'No gitlab access token found.') # TODO: validate gitlab token user = find_user(username) return user def auth_username_password(username, password): Loading Loading
portal/rest/auth/gitlab.py +5 −9 Original line number Diff line number Diff line import logging from flask import Blueprint, Flask, Config, url_for, request, redirect, session, jsonify, \ make_response from flask import Blueprint, url_for, request, redirect, session, make_response from flask_oauthlib.client import OAuth, OAuthRemoteApp from portal import oauth from portal.database.models import User from portal.service import service from portal.service.service import find_user log = logging.getLogger(__name__) Loading Loading @@ -47,10 +47,6 @@ def oauth_login(): return gitlab.authorize(callback=callback) def user_oauth_login(user): pass def user_oauth_register(user_info): new_user = User( uco=None, Loading @@ -64,11 +60,11 @@ def user_oauth_register(user_info): def user_login(user_info): user = User.query.find_by(username=user_info['user_name']) user = find_user(user_info['username']) if not user: return user_oauth_register(user_info) user_oauth_register(user_info) resp = make_response(redirect(oauth.app.config.get('FRONTEND_URL'))) resp.set_cookie('user_name', user.username) resp.set_cookie('username', user.username) return resp Loading
portal/rest/auth/login.py +2 −2 Original line number Diff line number Diff line Loading @@ -30,8 +30,8 @@ class Login(Resource): raise PortalAPIError(400, message="Missing login type.") if data['type'] == 'user': username = data.get('username') password = data.get('password') username = data.get('username', None) password = data.get('password', None) gitlab_access_token = data.get('gitlab_access_token', None) client = login_user(gitlab_access_token, password, username) Loading
portal/service/auth.py +8 −2 Original line number Diff line number Diff line from portal.service.errors import IncorrectPasswordError, UnauthorizedError from portal.service.errors import IncorrectPasswordError, UnauthorizedError, PortalAPIError from portal.service.service import find_user, find_component Loading @@ -20,11 +20,17 @@ def auth_gitlab_access_token(username, gitlab_access_token): Verify that token is for user Args: gitlab_access_token: username: username of the user attempting to log in gitlab_access_token: access token string from gitlab Returns: the authenticated user """ if gitlab_access_token is None: raise PortalAPIError(400, 'No gitlab access token found.') # TODO: validate gitlab token user = find_user(username) return user def auth_username_password(username, password): Loading