swh.auth.django.utils module

swh.auth.django.utils.oidc_user_from_decoded_token(decoded_token: Dict[str, Any], client_id: Optional[str] = None) swh.auth.django.models.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: swh.auth.keycloak.KeycloakOpenIDConnect, oidc_profile: Dict[str, Any]) swh.auth.django.models.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: swh.auth.keycloak.KeycloakOpenIDConnect, user_id: int) str[source]
swh.auth.django.utils.keycloak_oidc_client() swh.auth.keycloak.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: Optional[Dict[str, Any]] = None, query_params: Optional[Dict[str, Any]] = None, current_app: Optional[str] = None, urlconf: Optional[str] = None, request: Optional[django.http.request.HttpRequest] = 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

str