swh.auth.django.utils module#
- swh.auth.django.utils.keycloak_uuid_to_django_id(keycloak_uuid: str) int[source]#
- Convert keycloak user uuid to its django integer id. - Parameters:
- keycloak_uuid – UUID identifier of a Keycloak user 
- Returns:
- Django integer identifier for the user 
 
- swh.auth.django.utils.django_id_to_keycloak_uuid(django_id: int) str[source]#
- Convert django user integer id to its keycloak uuid. - Parameters:
- django_id – Integer identifier of a django user 
- Returns:
- Keycloak UUID identifier for the user 
 
- swh.auth.django.utils.oidc_user_from_decoded_token(decoded_token: Dict[str, Any], client_id: str | None = None) OIDCUser[source]#
- Create an OIDCUser out of a decoded token - Parameters:
- decoded_token – Decoded token Dict 
- client_id – Optional client id of the keycloak client instance used to decode the token. If not provided, the permissions will be empty. 
 
- Returns:
- The OIDCUser instance 
 
- swh.auth.django.utils.oidc_user_from_profile(oidc_client: KeycloakOpenIDConnect, oidc_profile: Dict[str, Any]) OIDCUser[source]#
- Initialize an OIDCUser out of an oidc profile dict. - Parameters:
- oidc_client – KeycloakOpenIDConnect used to discuss with keycloak 
- oidc_profile – OIDC profile retrieved once connected to keycloak 
 
- Returns:
- OIDCUser instance parsed out of the token received. 
 
- swh.auth.django.utils.oidc_profile_cache_key(oidc_client: KeycloakOpenIDConnect, user_id: int) str[source]#
- swh.auth.django.utils.keycloak_oidc_client() KeycloakOpenIDConnect[source]#
- Instantiate a KeycloakOpenIDConnect class from the following django settings: - SWH_AUTH_SERVER_URL 
- SWH_AUTH_REALM_NAME 
- SWH_AUTH_CLIENT_ID 
 - Returns:
- An object to ease the interaction with the Keycloak server 
- Raises:
- ValueError – at least one mandatory django setting is not set 
 
- swh.auth.django.utils.reverse(viewname: str, url_args: Dict[str, Any] | None = None, query_params: Dict[str, Any] | None = None, current_app: str | None = None, urlconf: str | None = None, request: HttpRequest | None = None) str[source]#
- An override of django reverse function supporting query parameters. - Parameters:
- viewname – the name of the django view from which to compute a url 
- url_args – dictionary of url arguments indexed by their names 
- query_params – dictionary of query parameters to append to the reversed url 
- current_app – the name of the django app tighten to the view 
- urlconf – url configuration module 
- request – build an absolute URI if provided 
 
- Returns:
- the url of the requested view with processed arguments and query parameters 
- Return type: