Pirates
Django app na uživatele, týmy a skupiny, s napojením na SSO.
Použití
Settings
Přidat pirates do INSTALLED_APPS.
Modely
Jsou k dipozici abstraktní modely pro uživatele, tým a organizační skupinu. Ty lze doplnit o další fieldy specifické pro aplikaci. Příklad:
from django.db import models
from pirates.models import AbstractUser
class CustomUser(AbstractUser):
is_friendly = models.BooleanField(default=True)
A nezapomenout model pro uživatele nastavit v settings:
AUTH_USER_MODEL = "myapp.CustomUser"
URLs
URL patterns (v současné době pouze pro OpenID Connect) jsou definovány v
pirates.urls. Stačí je připojit k URL patterns projektu:
from pirates.urls import urlpatterns as pirates_urlpatterns
urlpatterns = [
# URL patterns projektu
# ...
] + pirates_urlpatterns
SSO přes OpenID Connect
Implementaci OpenID zajišťuje knihovna mozilla-django-oidc.
V settings projektu je třeba nastavit několik konfiguračních konstant a autentifikační backend. Příklad settings (s využitím django-environ):
from os.path import join
import environ
env = environ.Env()
AUTHENTICATION_BACKENDS = ["pirates.auth.PiratesOIDCAuthenticationBackend"]
OIDC_RP_CLIENT_ID = env.str("OIDC_RP_CLIENT_ID")
OIDC_RP_CLIENT_SECRET = env.str("OIDC_RP_CLIENT_SECRET")
OIDC_RP_REALM_URL = env.str("OIDC_RP_REALM_URL")
OIDC_RP_SIGN_ALGO = "RS256"
OIDC_OP_JWKS_ENDPOINT = join(OIDC_RP_REALM_URL, "protocol/openid-connect/certs")
OIDC_OP_AUTHORIZATION_ENDPOINT = join(OIDC_RP_REALM_URL, "protocol/openid-connect/auth")
OIDC_OP_TOKEN_ENDPOINT = join(OIDC_RP_REALM_URL, "protocol/openid-connect/token")
OIDC_OP_USER_ENDPOINT = join(OIDC_RP_REALM_URL, "protocol/openid-connect/userinfo")
URL patterns pro OpenID Connect už jsou součástí pirates.urls (viz výše).
Signál po přihlášení
Po přihlášení uživatele je poslán signál pirates.signals.post_login s
parametry:
sender-PiratesOIDCAuthenticationBackenduser- přihlášený uživatel (instanceAUTH_USER_MODEL)created-True/Falsezda-li byl vytvořen nový uživatelrequest- instanceHttpRequest
Metadata
Release files for pirates 0.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pirates-0.7.0.tar.gz | 5.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pirates-0.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.0 kB
Release files / pirates-0.7.0.tar.gz
| Download URL | pirates-0.7.0.tar.gz |
|---|---|
| Size | 5.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d018970fb9c691df1362e4114fb6920176363cdcaf85e30e4b60cc0a34784541
|
|
BLAKE2b-256 checksum How to use checksums |
4b23e35a2d1844427e38071513e053ee1d33824f9a699afd7e7f2906321b73a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.5.1 CPython/3.11.4 Darwin/22.6.0
|
Release files / pirates-0.7.0-py3-none-any.whl
| Download URL | pirates-0.7.0-py3-none-any.whl |
|---|---|
| Size | 5.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7cec043b6fb07dd8c492fd5fb47d14ccc40a4ea8788df07504e3cdb7c148865d
|
|
BLAKE2b-256 checksum How to use checksums |
9df8b8439f49c480acab6addb33b5c85901c88fbe97d21aa903299f1ea1ef737
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.5.1 CPython/3.11.4 Darwin/22.6.0
|