Sie können ein ska
Paket verwenden, für das eine kennwortlose Anmeldung bei Django implementiert ist. ska
arbeitet mit Authentifizierungstoken und seine Sicherheit basiert auf SHARED_KEY, das für alle beteiligten Parteien (Server) gleich sein sollte.
Auf der Clientseite (Partei, die eine kennwortlose Anmeldung anfordert) generieren Sie eine URL und signieren sie mit ska
. Beispiel:
from ska import sign_url
from ska.contrib.django.ska.settings import SECRET_KEY
server_ska_login_url = 'https://server-url.com/ska/login/'
signed_url = sign_url(
auth_user='test_ska_user_0',
secret_key=SECRET_KEY,
url=server_ska_login_url
extra={
'email': 'john.doe@mail.example.com',
'first_name': 'John',
'last_name': 'Doe',
}
)
Die Standardlebensdauer des Tokens beträgt 600 Sekunden. Sie können dies anpassen, indem Sie ein lifetime
Argument beweisen .
Auf der Serverseite (Site, bei der sich Benutzer anmelden) wird ska
der Benutzer beim ordnungsgemäßen Installieren beim Aufrufen der URL angemeldet, sofern vorhanden (Benutzername-Übereinstimmung) oder auf andere Weise erstellt. Es gibt 3 Rückrufe, die Sie in den Django-Einstellungen Ihres Projekts anpassen können.
USER_GET_CALLBACK
(Zeichenfolge): Wird ausgelöst, wenn der Benutzer erfolgreich aus der Datenbank abgerufen wurde (vorhandener Benutzer).
USER_CREATE_CALLBACK
(Zeichenfolge): Wird direkt nach dem Erstellen des Benutzers ausgelöst (Benutzer war nicht vorhanden).
USER_INFO_CALLBACK
(Zeichenfolge): Wird bei erfolgreicher Authentifizierung ausgelöst.
Weitere Informationen finden Sie in der Dokumentation ( http://pythonhosted.org/ska/ ).