Add link to directly go to registration page
Resolves MS-558
This commit is contained in:
parent
6018925361
commit
aa9886be8d
|
|
@ -46,8 +46,8 @@
|
||||||
<p>Haben Sie noch kein hep Konto?</p>
|
<p>Haben Sie noch kein hep Konto?</p>
|
||||||
<a
|
<a
|
||||||
class="hep-link"
|
class="hep-link"
|
||||||
href="/api/oauth/login/"
|
href="/api/oauth/register/"
|
||||||
data-cy="oauth-login"
|
data-cy="oauth-register"
|
||||||
>Jetzt registrieren</a
|
>Jetzt registrieren</a
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
from django.conf.urls import url
|
from django.conf.urls import url
|
||||||
from oauth import views
|
from oauth import views
|
||||||
|
|
||||||
app_name = 'users'
|
app_name = "users"
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
url(r'^login/', views.login, name='login'),
|
url(r"^login/", views.login, name="login"),
|
||||||
url(r'^callback/', views.authorize, name='authorize')
|
url(r"^register/", views.register, name="register"),
|
||||||
|
url(r"^callback/", views.authorize, name="authorize"),
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -6,20 +6,36 @@ from sentry_sdk import capture_exception
|
||||||
from oauth.hep_client import HepClient
|
from oauth.hep_client import HepClient
|
||||||
from oauth.oauth_client import oauth
|
from oauth.oauth_client import oauth
|
||||||
from oauth.models import OAuth2Token
|
from oauth.models import OAuth2Token
|
||||||
from oauth.user_signup_login_handler import handle_user_and_verify_products, EMAIL_NOT_VERIFIED, UNKNOWN_ERROR
|
from oauth.user_signup_login_handler import (
|
||||||
|
handle_user_and_verify_products,
|
||||||
|
EMAIL_NOT_VERIFIED,
|
||||||
|
UNKNOWN_ERROR,
|
||||||
|
)
|
||||||
from django.contrib.auth import login as dj_login
|
from django.contrib.auth import login as dj_login
|
||||||
|
|
||||||
from core.logger import get_logger
|
from core.logger import get_logger
|
||||||
|
|
||||||
logger = get_logger(__name__)
|
logger = get_logger(__name__)
|
||||||
|
|
||||||
OAUTH_REDIRECT = 'oauth-redirect'
|
OAUTH_REDIRECT = "oauth-redirect"
|
||||||
|
|
||||||
|
|
||||||
|
def go_to_oauth(request, go_to_register=False):
|
||||||
|
hep_oauth_client = oauth.create_client("hep")
|
||||||
|
redirect_uri = settings.OAUTH_LOCAL_REDIRECT_URI
|
||||||
|
if go_to_register:
|
||||||
|
kwargs = {"redirect": "register"}
|
||||||
|
else:
|
||||||
|
kwargs = {}
|
||||||
|
return hep_oauth_client.authorize_redirect(request, redirect_uri, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
def login(request):
|
def login(request):
|
||||||
hep_oauth_client = oauth.create_client('hep')
|
return go_to_oauth(request)
|
||||||
redirect_uri = settings.OAUTH_LOCAL_REDIRECT_URI
|
|
||||||
return hep_oauth_client.authorize_redirect(request, redirect_uri)
|
|
||||||
|
def register(request):
|
||||||
|
return go_to_oauth(request, go_to_register=True)
|
||||||
|
|
||||||
|
|
||||||
def authorize(request):
|
def authorize(request):
|
||||||
|
|
@ -31,10 +47,10 @@ def authorize(request):
|
||||||
user, status_msg = handle_user_and_verify_products(user_data, token)
|
user, status_msg = handle_user_and_verify_products(user_data, token)
|
||||||
user.sync_with_hep_data(user_data)
|
user.sync_with_hep_data(user_data)
|
||||||
except OAuthError as e:
|
except OAuthError as e:
|
||||||
logger.warning(f'OAuth error: {e}')
|
logger.warning(f"OAuth error: {e}")
|
||||||
if not settings.DEBUG:
|
if not settings.DEBUG:
|
||||||
capture_exception(e)
|
capture_exception(e)
|
||||||
return redirect(f'/{OAUTH_REDIRECT}?state={UNKNOWN_ERROR}')
|
return redirect(f"/{OAUTH_REDIRECT}?state={UNKNOWN_ERROR}")
|
||||||
|
|
||||||
if user and status_msg != EMAIL_NOT_VERIFIED:
|
if user and status_msg != EMAIL_NOT_VERIFIED:
|
||||||
dj_login(request, user)
|
dj_login(request, user)
|
||||||
|
|
@ -42,7 +58,6 @@ def authorize(request):
|
||||||
OAuth2Token.objects.update_or_create_token(token, user)
|
OAuth2Token.objects.update_or_create_token(token, user)
|
||||||
|
|
||||||
if status_msg:
|
if status_msg:
|
||||||
return redirect(f'/{OAUTH_REDIRECT}?state={status_msg}')
|
return redirect(f"/{OAUTH_REDIRECT}?state={status_msg}")
|
||||||
|
|
||||||
return redirect(f'/{OAUTH_REDIRECT}?state=success')
|
|
||||||
|
|
||||||
|
return redirect(f"/{OAUTH_REDIRECT}?state=success")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue