Login user
This commit is contained in:
parent
61b4e91d67
commit
616113aaf9
|
|
@ -1,14 +1,15 @@
|
||||||
|
from django.contrib.auth.models import AbstractUser
|
||||||
from django.db import models
|
from django.db import models
|
||||||
|
|
||||||
|
|
||||||
class UserManager(models.Manager):
|
class UserManager(models.Manager):
|
||||||
def create_or_update_by_email(self, email: str, first_name: str, last_name: str, username: str) -> bool:
|
def create_or_update_by_email(self, email: str, first_name: str, last_name: str, username: str) -> tuple[
|
||||||
|
AbstractUser, bool]:
|
||||||
# create or sync user with OpenID Data
|
# create or sync user with OpenID Data
|
||||||
_user, created = self.model.objects.get_or_create(email=email, defaults={
|
user, created = self.model.objects.get_or_create(email=email, defaults={
|
||||||
"first_name": first_name,
|
"first_name": first_name,
|
||||||
"last_name": last_name,
|
"last_name": last_name,
|
||||||
"username": username
|
"username": username
|
||||||
})
|
})
|
||||||
|
|
||||||
return created
|
return user, created
|
||||||
|
|
|
||||||
|
|
@ -31,9 +31,10 @@ def authorize(request):
|
||||||
return redirect(f'/{OAUTH_REDIRECT}?state=someerror') # to be defined
|
return redirect(f'/{OAUTH_REDIRECT}?state=someerror') # to be defined
|
||||||
|
|
||||||
user_data = _user_data_from_token_data(deocded_token)
|
user_data = _user_data_from_token_data(deocded_token)
|
||||||
created = get_user_model().objects.create_or_update_by_email(user_data["email"], user_data["first_name"],
|
user, created = get_user_model().objects.create_or_update_by_email(user_data["email"], user_data["first_name"],
|
||||||
user_data["last_name"], user_data["username"])
|
user_data["last_name"], user_data["username"])
|
||||||
|
|
||||||
|
dj_login(request, user)
|
||||||
return redirect(f'/{OAUTH_REDIRECT}?state=success') # to be defined
|
return redirect(f'/{OAUTH_REDIRECT}?state=success') # to be defined
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue