Skip to content
Snippets Groups Projects
  1. Oct 18, 2022
  2. Sep 12, 2022
  3. Jul 15, 2022
  4. Jul 12, 2022
  5. May 30, 2022
  6. May 20, 2022
  7. May 02, 2022
  8. Apr 26, 2022
  9. Apr 21, 2022
  10. Apr 14, 2022
    • Antoine Lambert's avatar
      backends: Report only relevant exceptions to sentry · 7fddad7e
      Antoine Lambert authored
      When catching KeycloakError exceptions, other exception types
      will be then raised like ValueError or AuthenticationFailed.
      
      Those will be processed by django applications using these auth
      middlewares so there is no need to duplicate error reports in
      sentry here.
      7fddad7e
  11. Apr 08, 2022
  12. Apr 06, 2022
  13. Apr 05, 2022
  14. Mar 22, 2022
  15. Feb 10, 2022
  16. Feb 07, 2022
  17. Dec 16, 2021
  18. Dec 01, 2021
  19. Aug 23, 2021
  20. Jul 01, 2021
  21. Jun 09, 2021
  22. Apr 27, 2021
  23. Apr 22, 2021
  24. Apr 13, 2021
  25. Apr 09, 2021
  26. Apr 07, 2021
  27. Apr 06, 2021
  28. Mar 30, 2021
    • Antoine Lambert's avatar
      django: Add OIDCSessionExpiredMiddleware · e5fd97a7
      Antoine Lambert authored
      That middleware detects when a user previously logged in using
      the OpenID Connect authentication backend got his session expired.
      
      In that case it will perform a redirection to a django view whose
      name must be set in the SWH_AUTH_SESSION_EXPIRED_REDIRECT_VIEW
      django setting (typically a logout view).
      
      Related to T3150
    • Antoine Lambert's avatar
      django: Add OIDC Bearer Token authentication backend for DRF views · 0c8c3ce7
      Antoine Lambert authored
      Add a generic Django REST Framework authentication backend enabling to
      authenticate a user using Keycloak and OpenID Connect bearer tokens.
      
      The backend can be easily plugged into a DRF application by:
      
        * adding "swh.auth.django.backends.OIDCBearerTokenAuthentication"
          to the REST_FRAMEWORK["DEFAULT_AUTHENTICATION_CLASSES"]
          django setting.
      
        * configuring Keycloak URL, realm and client by adding
          SWH_AUTH_SERVER_URL, SWH_AUTH_REALM_NAME and SWH_AUTH_CLIENT_ID
          in django settings
      
      Users will then be able to perform authenticated Web API calls by
      sending their refresh token in HTTP Authorization headers.
      
      Related to T3150
      0c8c3ce7
    • Antoine Lambert's avatar
      django: Add OIDC Authorization code PKCE authentication backend · 367ead11
      Antoine Lambert authored
      Add a generic Django authentication backend and related login / logout
      views enabling to authenticate a user using Keycloak and the OpenID
      Connect authorization code flow with PKCE ("Proof Key for Code Exchange").
      
      The backend can be easily plugged into any django application by:
      
       - adding "swh.auth.django.backends.OIDCAuthorizationCodePKCEBackend"
         to the AUTHENTICATION_BACKENDS django setting
      
       - configuring Keycloak by adding SWH_AUTH_SERVER_URL, SWH_AUTH_REALM_NAME
         and SWH_AUTH_CLIENT_ID in django settings
      
       - adding swh.auth.django.views.urlpatterns to the django application URLs
      
       - using the dedicated django views: "oidc-login" and "oidc-logout"
      
      Related to T3150
      367ead11
  29. Mar 26, 2021
  30. Mar 25, 2021
Loading