pyobs-auth 2.1.0__tar.gz → 2.1.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyobs_auth-2.1.0 → pyobs_auth-2.1.2}/LICENSE +1 -2
- pyobs_auth-2.1.2/PKG-INFO +46 -0
- pyobs_auth-2.1.2/README.md +28 -0
- {pyobs_auth-2.1.0 → pyobs_auth-2.1.2}/pyproject.toml +8 -1
- pyobs_auth-2.1.0/PKG-INFO +0 -12
- {pyobs_auth-2.1.0 → pyobs_auth-2.1.2}/.gitignore +0 -0
- {pyobs_auth-2.1.0 → pyobs_auth-2.1.2}/pyobs_auth/__init__.py +0 -0
- {pyobs_auth-2.1.0 → pyobs_auth-2.1.2}/pyobs_auth/apps.py +0 -0
- {pyobs_auth-2.1.0 → pyobs_auth-2.1.2}/pyobs_auth/authentication.py +0 -0
- {pyobs_auth-2.1.0 → pyobs_auth-2.1.2}/pyobs_auth/authorization.py +0 -0
- {pyobs_auth-2.1.0 → pyobs_auth-2.1.2}/pyobs_auth/client.py +0 -0
- {pyobs_auth-2.1.0 → pyobs_auth-2.1.2}/pyobs_auth/discovery.py +0 -0
- {pyobs_auth-2.1.0 → pyobs_auth-2.1.2}/pyobs_auth/middleware.py +0 -0
- {pyobs_auth-2.1.0 → pyobs_auth-2.1.2}/pyobs_auth/py.typed +0 -0
- {pyobs_auth-2.1.0 → pyobs_auth-2.1.2}/pyobs_auth/settings.py +0 -0
- {pyobs_auth-2.1.0 → pyobs_auth-2.1.2}/pyobs_auth/templates/pyobs_auth/error.html +0 -0
- {pyobs_auth-2.1.0 → pyobs_auth-2.1.2}/pyobs_auth/urls.py +0 -0
- {pyobs_auth-2.1.0 → pyobs_auth-2.1.2}/pyobs_auth/validation.py +0 -0
- {pyobs_auth-2.1.0 → pyobs_auth-2.1.2}/pyobs_auth/views.py +0 -0
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2026 Tim-Oliver Husser
|
|
4
|
-
thusser@uni-goettingen.de
|
|
3
|
+
Copyright (c) 2026 Tim-Oliver Husser <thusser@uni-goettingen.de>
|
|
5
4
|
|
|
6
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
6
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: pyobs-auth
|
|
3
|
+
Version: 2.1.2
|
|
4
|
+
Summary: Shared Keycloak/OIDC authentication client for pyobs web services
|
|
5
|
+
Project-URL: Homepage, https://www.pyobs.org
|
|
6
|
+
Project-URL: Documentation, https://docs.pyobs.org
|
|
7
|
+
Project-URL: Repository, https://github.com/pyobs/pyobs-auth
|
|
8
|
+
Project-URL: Issues, https://github.com/pyobs/pyobs-auth/issues
|
|
9
|
+
Author-email: Tim-Oliver Husser <thusser@uni-goettingen.de>
|
|
10
|
+
License-Expression: MIT
|
|
11
|
+
License-File: LICENSE
|
|
12
|
+
Requires-Python: >=3.11
|
|
13
|
+
Requires-Dist: django<7,>=5.2
|
|
14
|
+
Requires-Dist: djangorestframework>=3.15
|
|
15
|
+
Requires-Dist: pyjwt[crypto]<3,>=2.10.1
|
|
16
|
+
Requires-Dist: requests<3,>=2.32.3
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
|
|
19
|
+
# pyobs-auth
|
|
20
|
+
|
|
21
|
+
Shared Keycloak/OIDC authentication client for pyobs web services (`pyobs-archive`,
|
|
22
|
+
`pyobs-portal`, and future services), so each one doesn't reimplement OIDC discovery,
|
|
23
|
+
token validation, and user mapping on its own.
|
|
24
|
+
|
|
25
|
+
Single issuer only, by design: every service trusts exactly one Keycloak realm. Any upstream
|
|
26
|
+
identity provider (an institute's SSO, a self-hosted `observation-portal`, ...) is meant to be
|
|
27
|
+
brokered *behind* that Keycloak instance, not validated directly by this library - see
|
|
28
|
+
[`docs/source/architecture.rst`](docs/source/architecture.rst) for the full reasoning.
|
|
29
|
+
|
|
30
|
+
## Documentation
|
|
31
|
+
|
|
32
|
+
Full installation (adding this to a Django project), configuration (every `PYOBS_AUTH` key),
|
|
33
|
+
architecture, and API reference: see [`docs/source/`](docs/source/) (built with Sphinx —
|
|
34
|
+
`cd docs && uv run --group dev make html`).
|
|
35
|
+
|
|
36
|
+
## Development
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
git clone https://github.com/pyobs/pyobs-auth.git
|
|
40
|
+
cd pyobs-auth
|
|
41
|
+
uv sync --group dev
|
|
42
|
+
uv run pytest
|
|
43
|
+
uv run ruff check pyobs_auth/
|
|
44
|
+
uv run black --check .
|
|
45
|
+
uv run pyrefly check pyobs_auth
|
|
46
|
+
```
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# pyobs-auth
|
|
2
|
+
|
|
3
|
+
Shared Keycloak/OIDC authentication client for pyobs web services (`pyobs-archive`,
|
|
4
|
+
`pyobs-portal`, and future services), so each one doesn't reimplement OIDC discovery,
|
|
5
|
+
token validation, and user mapping on its own.
|
|
6
|
+
|
|
7
|
+
Single issuer only, by design: every service trusts exactly one Keycloak realm. Any upstream
|
|
8
|
+
identity provider (an institute's SSO, a self-hosted `observation-portal`, ...) is meant to be
|
|
9
|
+
brokered *behind* that Keycloak instance, not validated directly by this library - see
|
|
10
|
+
[`docs/source/architecture.rst`](docs/source/architecture.rst) for the full reasoning.
|
|
11
|
+
|
|
12
|
+
## Documentation
|
|
13
|
+
|
|
14
|
+
Full installation (adding this to a Django project), configuration (every `PYOBS_AUTH` key),
|
|
15
|
+
architecture, and API reference: see [`docs/source/`](docs/source/) (built with Sphinx —
|
|
16
|
+
`cd docs && uv run --group dev make html`).
|
|
17
|
+
|
|
18
|
+
## Development
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
git clone https://github.com/pyobs/pyobs-auth.git
|
|
22
|
+
cd pyobs-auth
|
|
23
|
+
uv sync --group dev
|
|
24
|
+
uv run pytest
|
|
25
|
+
uv run ruff check pyobs_auth/
|
|
26
|
+
uv run black --check .
|
|
27
|
+
uv run pyrefly check pyobs_auth
|
|
28
|
+
```
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "pyobs-auth"
|
|
3
|
-
version = "2.1.
|
|
3
|
+
version = "2.1.2"
|
|
4
4
|
description = "Shared Keycloak/OIDC authentication client for pyobs web services"
|
|
5
5
|
authors = [{ name = "Tim-Oliver Husser", email = "thusser@uni-goettingen.de" }]
|
|
6
6
|
requires-python = ">=3.11"
|
|
7
7
|
license = "MIT"
|
|
8
|
+
readme = "README.md"
|
|
8
9
|
dependencies = [
|
|
9
10
|
"Django>=5.2,<7",
|
|
10
11
|
"djangorestframework>=3.15",
|
|
@@ -12,6 +13,12 @@ dependencies = [
|
|
|
12
13
|
"PyJWT[crypto]>=2.10.1,<3",
|
|
13
14
|
]
|
|
14
15
|
|
|
16
|
+
[project.urls]
|
|
17
|
+
Homepage = "https://www.pyobs.org"
|
|
18
|
+
Documentation = "https://docs.pyobs.org"
|
|
19
|
+
Repository = "https://github.com/pyobs/pyobs-auth"
|
|
20
|
+
Issues = "https://github.com/pyobs/pyobs-auth/issues"
|
|
21
|
+
|
|
15
22
|
[dependency-groups]
|
|
16
23
|
dev = [
|
|
17
24
|
"pytest>=8.3.5,<10",
|
pyobs_auth-2.1.0/PKG-INFO
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.5
|
|
2
|
-
Name: pyobs-auth
|
|
3
|
-
Version: 2.1.0
|
|
4
|
-
Summary: Shared Keycloak/OIDC authentication client for pyobs web services
|
|
5
|
-
Author-email: Tim-Oliver Husser <thusser@uni-goettingen.de>
|
|
6
|
-
License-Expression: MIT
|
|
7
|
-
License-File: LICENSE
|
|
8
|
-
Requires-Python: >=3.11
|
|
9
|
-
Requires-Dist: django<7,>=5.2
|
|
10
|
-
Requires-Dist: djangorestframework>=3.15
|
|
11
|
-
Requires-Dist: pyjwt[crypto]<3,>=2.10.1
|
|
12
|
-
Requires-Dist: requests<3,>=2.32.3
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|