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
|
||||
|
||||
|
||||
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
|
||||
_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,
|
||||
"last_name": last_name,
|
||||
"username": username
|
||||
})
|
||||
|
||||
return created
|
||||
return user, created
|
||||
|
|
|
|||
|
|
@ -31,9 +31,10 @@ def authorize(request):
|
|||
return redirect(f'/{OAUTH_REDIRECT}?state=someerror') # to be defined
|
||||
|
||||
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"])
|
||||
|
||||
dj_login(request, user)
|
||||
return redirect(f'/{OAUTH_REDIRECT}?state=success') # to be defined
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue