code: protected String getSigningHashAlgorithm(final OidcRegisteredService service) {
          val alg = getConfigurationContext().getIdTokenSigningAndEncryptionService().getJsonWebKeySigningAlgorithm(service);
          LOGGER.debug("Signing algorithm specified by service [{}] is [{}]", service.getServiceId(), alg);
  
          if (AlgorithmIdentifiers.RSA_USING_SHA512.equalsIgnoreCase(alg)) {
              return MessageDigestAlgorithms.SHA_512;
          }
          if (AlgorithmIdentifiers.RSA_USING_SHA384.equalsIgnoreCase(alg)) {
              return MessageDigestAlgorithms.SHA_384;
          }
          if (AlgorithmIdentifiers.RSA_USING_SHA256.equalsIgnoreCase(alg)) {
              return MessageDigestAlgorithms.SHA_256;
          }
          throw new IllegalArgumentException("Could not determine the hash algorithm for the id token issued to service " + service.getServiceId());
      }
docs: Gets signing hash algorithm.
  
  @param service the service
  @return the signing hash algorithm