Uploaded image for project: 'JOC - JobScheduler Operations Center'
  1. JOC - JobScheduler Operations Center
  2. JOC-1525

Add support for OIDC authentication with Microsoft Azure

    XMLWordPrintable

Details

    Description

      Current Situation

      • JOC Cockpit supports OIDC authentication. This protocol has been tested for example with the Keycloak Identity Provider.
      • For a number of other OIDC identity Providers including Azure this does not work as they do not return the expected object and property with their response:
        • JOC Cockpit expects the claims_supported object to be available.
        • In this objects one of the properties username or email is used.
      • As a result a user can authenticate but the name of the Azure account is not mapped to a JOC Cockpit account. Therefore the user is not assigned a role and permissions.

      Desired Behavior

      • The following strategy is applied to identify the attribute used to map to the JOC Cockpit account:
        • the URL https://<identity-provider>/.well-known/openid-configuration is called.
        • the response is checked for the object claims_supported
          • if not available or empty then the email attribute will be used
          • if available and if it includes the preferred_username attribute then this attribute will be used.
        • if no attribute has been identified then the email attribute is used.
      • For OIDC Settings the JOC Cockpit offers to add the name of the expected attribute.

      Note

      • Use of OIDC requires JOC Cockpit to be set up for HTTPS connections.
      • Consider attached screenshot for settings required to authenticate with Azure:
        • specify the path to the Java cacerts truststore in your JDK, for example /usr/lib/jvm/java-17-openjdk/lib/security/cacerts
        • specify the truststore type: JKS or PKCS12 (with JAVA 9 onwards){}
        • specify the truststore password: changeit
          • this is the default password for the cacerts truststore in Java distributions.
          • the password could be different in future Java versions or if modified by your organization.

      Workaround

      Attachments

        Issue Links

          Activity

            People

              ztsa0019 Sourabh Agrawal
              ap Andreas Püschel
              Uwe Risse Uwe Risse
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: