Enable login (without view yet)

This commit is contained in:
aldrin 2021-04-14 11:21:39 +02:00
parent a6300d0388
commit b54c523491
6 changed files with 27 additions and 1 deletions

View file

@ -62,6 +62,13 @@ export class User extends Model implements UserData {
super(); super();
} }
async login(): Promise<void> {
await super.create("token/login", {
email: this.email,
password: this.password,
});
}
async signup(): Promise<void> { async signup(): Promise<void> {
await super.create("users", { email: this.email, password: this.password }); await super.create("users", { email: this.email, password: this.password });
} }

View file

@ -33,6 +33,7 @@ export default class LoginForm extends Vue {
private async doSignup() { private async doSignup() {
await this.user.signup(); await this.user.signup();
// TODO: error handling, show confirmation page
} }
} }
</script> </script>

6
userausfall/admin.py Normal file
View file

@ -0,0 +1,6 @@
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from userausfall.models import User
admin.site.register(User, UserAdmin)

View file

@ -26,7 +26,7 @@ class UserManager(BaseUserManager):
extra_fields.setdefault('is_superuser', False) extra_fields.setdefault('is_superuser', False)
return self._create_user(email, password, **extra_fields) return self._create_user(email, password, **extra_fields)
def create_superuser(self, username, email, password, **extra_fields): def create_superuser(self, email, password, **extra_fields):
extra_fields.setdefault('is_staff', True) extra_fields.setdefault('is_staff', True)
extra_fields.setdefault('is_superuser', True) extra_fields.setdefault('is_superuser', True)

View file

@ -38,6 +38,7 @@ INSTALLED_APPS = [
'django.contrib.staticfiles', 'django.contrib.staticfiles',
'userausfall', 'userausfall',
'rest_framework', 'rest_framework',
'rest_framework.authtoken',
'djoser', 'djoser',
] ]
@ -149,3 +150,13 @@ DJOSER = {
# https://docs.djangoproject.com/en/3.2/topics/email/ # https://docs.djangoproject.com/en/3.2/topics/email/
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
# Django Rest Framework
# https://www.django-rest-framework.org/api-guide/settings/
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
),
}

View file

@ -7,4 +7,5 @@ urlpatterns = [
path('admin/', admin.site.urls), path('admin/', admin.site.urls),
path('api/', include(rest_api_urls.router.urls)), path('api/', include(rest_api_urls.router.urls)),
path('api/', include('djoser.urls')), path('api/', include('djoser.urls')),
path('api/', include('djoser.urls.authtoken')),
] ]