mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-10-31 15:50:03 +01:00 
			
		
		
		
	Compare commits
	
		
			4 Commits
		
	
	
		
			export_mem
			...
			a2be3a9402
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | a2be3a9402 | ||
|  | 9bffb32a5e | ||
|  | 6c63c6417c | ||
|  | 4563b2b640 | 
							
								
								
									
										16
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								README.md
									
									
									
									
									
								
							| @@ -58,7 +58,13 @@ Bien que cela permette de créer une instance sur toutes les distributions, | |||||||
|     (env)$ ./manage.py createsuperuser  # Création d'un⋅e utilisateur⋅rice initial |     (env)$ ./manage.py createsuperuser  # Création d'un⋅e utilisateur⋅rice initial | ||||||
|     ``` |     ``` | ||||||
|  |  | ||||||
| 6.  Enjoy : | 6. (Optionnel) **Création d'une clé privée OpenID Connect** | ||||||
|  |  | ||||||
|  | Pour activer le support d'OpenID Connect, il faut générer une clé privée, par | ||||||
|  | exemple avec openssl (`openssl genrsa -out oidc.key 4096`), et renseigner son | ||||||
|  | emplacement dans `OIDC_RSA_PRIVATE_KEY` (par défaut `/var/secrets/oidc.key`). | ||||||
|  |  | ||||||
|  | 7.  Enjoy : | ||||||
|  |  | ||||||
|     ```bash |     ```bash | ||||||
|     (env)$ ./manage.py runserver 0.0.0.0:8000 |     (env)$ ./manage.py runserver 0.0.0.0:8000 | ||||||
| @@ -228,7 +234,13 @@ Sinon vous pouvez suivre les étapes décrites ci-dessous. | |||||||
|         (env)$ ./manage.py check # pas de bêtise qui traine |         (env)$ ./manage.py check # pas de bêtise qui traine | ||||||
|         (env)$ ./manage.py migrate |         (env)$ ./manage.py migrate | ||||||
|  |  | ||||||
| 7.  *Enjoy \o/* | 7. **Création d'une clé privée OpenID Connect** | ||||||
|  |  | ||||||
|  | Pour activer le support d'OpenID Connect, il faut générer une clé privée, par | ||||||
|  | exemple avec openssl (`openssl genrsa -out oidc.key 4096`), et renseigner son | ||||||
|  | emplacement dans `OIDC_RSA_PRIVATE_KEY` (par défaut `/var/secrets/oidc.key`). | ||||||
|  |  | ||||||
|  | 8.  *Enjoy \o/* | ||||||
|  |  | ||||||
| ### Installation avec Docker | ### Installation avec Docker | ||||||
|  |  | ||||||
|   | |||||||
| @@ -43,6 +43,11 @@ On a ensuite besoin de définir nos propres scopes afin d'avoir des permissions | |||||||
|        'SCOPES_BACKEND_CLASS': 'permission.scopes.PermissionScopes', |        'SCOPES_BACKEND_CLASS': 'permission.scopes.PermissionScopes', | ||||||
|        'OAUTH2_VALIDATOR_CLASS': "permission.scopes.PermissionOAuth2Validator", |        'OAUTH2_VALIDATOR_CLASS': "permission.scopes.PermissionOAuth2Validator", | ||||||
|        'REFRESH_TOKEN_EXPIRE_SECONDS': timedelta(days=14), |        'REFRESH_TOKEN_EXPIRE_SECONDS': timedelta(days=14), | ||||||
|  |        'PKCE_REQUIRED': False, | ||||||
|  |        'OIDC_ENABLED': True, | ||||||
|  |        'OIDC_RSA_PRIVATE_KEY': | ||||||
|  |            os.getenv('OIDC_RSA_PRIVATE_KEY', '/var/secrets/oidc.key'), | ||||||
|  |        'SCOPES': { 'openid': "OpenID Connect scope" }, | ||||||
|    } |    } | ||||||
|  |  | ||||||
| Cela a pour effet d'avoir des scopes sous la forme ``PERMISSION_CLUB``, | Cela a pour effet d'avoir des scopes sous la forme ``PERMISSION_CLUB``, | ||||||
| @@ -57,6 +62,14 @@ On ajoute enfin les routes dans ``urls.py`` : | |||||||
|         path('o/', include('oauth2_provider.urls', namespace='oauth2_provider')) |         path('o/', include('oauth2_provider.urls', namespace='oauth2_provider')) | ||||||
|     ) |     ) | ||||||
|  |  | ||||||
|  | Enfin pour utiliser OIDC, il faut générer une clé privé que l'on va, par défaut, | ||||||
|  | mettre dans `/var/secrets/oidc.key` : | ||||||
|  |  | ||||||
|  | .. code:: bash | ||||||
|  |  | ||||||
|  |    cd /var/secrets/ | ||||||
|  |    openssl genrsa -out oidc.key 4096 | ||||||
|  |  | ||||||
| L'OAuth2 est désormais prêt à être utilisé. | L'OAuth2 est désormais prêt à être utilisé. | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -227,6 +227,22 @@ En production, ce fichier contient : | |||||||
|    ) |    ) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | Génération d'une clé privé pour OIDC | ||||||
|  | ------------------------------------ | ||||||
|  |  | ||||||
|  | Pour pouvoir proposer le service de connexion Openid Connect (OIDC) par OAuth2, il y a | ||||||
|  | besoin d'une clé privé. Par défaut, elle est cherché dans le fichier `/var/secrets/oidc.key` | ||||||
|  | (sinon, il faut modifier l'emplacement dans les fichiers de configurations). | ||||||
|  |  | ||||||
|  | Pour générer la clé, il faut aller dans le dossier `/var/secrets` (à créer, si nécessaire) puis | ||||||
|  | utiliser la commande de génération : | ||||||
|  |  | ||||||
|  | .. code:: bash | ||||||
|  |  | ||||||
|  |    cd /var/secrets | ||||||
|  |    openssl genrsa -out oidc.key 4096 | ||||||
|  |  | ||||||
|  |  | ||||||
| Configuration des tâches récurrentes | Configuration des tâches récurrentes | ||||||
| ------------------------------------ | ------------------------------------ | ||||||
|  |  | ||||||
|   | |||||||
| @@ -268,6 +268,10 @@ OAUTH2_PROVIDER = { | |||||||
|     'OAUTH2_VALIDATOR_CLASS': "permission.scopes.PermissionOAuth2Validator", |     'OAUTH2_VALIDATOR_CLASS': "permission.scopes.PermissionOAuth2Validator", | ||||||
|     'REFRESH_TOKEN_EXPIRE_SECONDS': timedelta(days=14), |     'REFRESH_TOKEN_EXPIRE_SECONDS': timedelta(days=14), | ||||||
|     'PKCE_REQUIRED': False, # PKCE (fix a breaking change of django-oauth-toolkit 2.0.0) |     'PKCE_REQUIRED': False, # PKCE (fix a breaking change of django-oauth-toolkit 2.0.0) | ||||||
|  |     'OIDC_ENABLED': True, | ||||||
|  |     'OIDC_RSA_PRIVATE_KEY': | ||||||
|  |         os.getenv('OIDC_RSA_PRIVATE_KEY', '/var/secrets/oidc.key'), | ||||||
|  |     'SCOPES': { 'openid': "OpenID Connect scope" }, | ||||||
| } | } | ||||||
|  |  | ||||||
| # Take control on how widget templates are sourced | # Take control on how widget templates are sourced | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user