@Override
    public boolean equals(final Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        final AbstractOpenIdConfig that = (AbstractOpenIdConfig) o;
        return formTokenRequest == that.formTokenRequest &&
               validateAudience == that.validateAudience &&
               identityProviderType == that.identityProviderType &&
               Objects.equals(openIdConfigurationEndpoint, that.openIdConfigurationEndpoint) &&
               Objects.equals(issuer, that.issuer) &&
               Objects.equals(authEndpoint, that.authEndpoint) &&
               Objects.equals(tokenEndpoint, that.tokenEndpoint) &&
               Objects.equals(jwksUri, that.jwksUri) &&
               Objects.equals(logoutEndpoint, that.logoutEndpoint) &&
               Objects.equals(logoutRedirectParamName, that.logoutRedirectParamName) &&
               Objects.equals(clientId, that.clientId) &&
               Objects.equals(clientSecret, that.clientSecret) &&
               Objects.equals(requestScopes, that.requestScopes) &&
               Objects.equals(uniqueIdentityClaim, that.uniqueIdentityClaim) &&
               Objects.equals(expectedSignerPrefixes, that.expectedSignerPrefixes);
    }
@return The type of Open ID Connnect identity provider in use.
stroom-security/stroom-security-openid-api/src/main/java/stroom/security/openid/api/AbstractOpenIdConfig.java