HomeSoftware Heritage

auth: Add OpenID Connect autentication backend and login/logout views

Description

auth: Add OpenID Connect autentication backend and login/logout views

Add Django plumbing in swh-web to use OpenID Connect authentication layer.

It enables to securely authenticate users stored in a remote identity
and access management server implementing OpenID Connect specifications.
For the swh-web case, the open source solution Keycloak will be used.

New Django views are also introduced in order for users to login/logout
from the main HTML interface.

A custom Django User model is also used for remote users in order to
store OpenID Connect related data and avoid to save users to Django
database (those sensitive information are already securely stored in
Keycloak so there is no need to duplicate them).

Closes T2245
Closes T2246
Closes T2295