Strange dependency: oauth2-oidc-sdk depends on javax.mail

Issue #266 duplicate
Graham Leggett created an issue

While trying to add oauth2-oidc-sdk to a project, we had various problems with clashing dependencies related to activation.jar.

We discovered that oauth2-oidc-sdk depends on javax.mail.

[INFO]    +- com.nimbusds:oauth2-oidc-sdk:jar:6.5:compile
[INFO]    |  +- com.sun.mail:javax.mail:jar:1.6.1:compile
[INFO]    |  |  \- javax.activation:activation:jar:1.1:compile

Is this intended?

Comments (6)

  1. Connect2id OSS

    Well, not that horribly strange 🙂

    It’s used for handling content types, email addresses in OpenID Connect UserInfo.

  2. Graham Leggett reporter

    Is there a more lightweight library that will do the job?

    The reason this was raised is that I have a need to integrate an existing turnkey application with pac4j, which in turn depends on oauth2-oidc-sdk. The javax.mail and activation dependencies are fighting with the existing application, and it’s getting harder and harder to reconcile the two.

  3. Vladimir Dzhuvinov

    Will check if there is a way to make the dep optional. We cannot entirely remove it at present, because it will break things.

  4. Vladimir Dzhuvinov
    grep javax.mail -R src/main/
    src/main/java/com/nimbusds/openid/connect/sdk/UserInfoSuccessResponse.java:import javax.mail.internet.ContentType;
    src/main/java/com/nimbusds/openid/connect/sdk/claims/ClaimsSet.java:import javax.mail.internet.InternetAddress;
    src/main/java/com/nimbusds/openid/connect/sdk/claims/UserInfo.java:import javax.mail.internet.InternetAddress;
    src/main/java/com/nimbusds/oauth2/sdk/auth/TLSClientAuthentication.java:import javax.mail.internet.ContentType;
    src/main/java/com/nimbusds/oauth2/sdk/auth/ClientSecretPost.java:import javax.mail.internet.ContentType;
    src/main/java/com/nimbusds/oauth2/sdk/auth/JWTAuthentication.java:import javax.mail.internet.ContentType;
    src/main/java/com/nimbusds/oauth2/sdk/http/CommonContentTypes.java:import javax.mail.internet.ContentType;
    src/main/java/com/nimbusds/oauth2/sdk/http/CommonContentTypes.java:import javax.mail.internet.ParameterList;
    src/main/java/com/nimbusds/oauth2/sdk/http/HTTPMessage.java:import javax.mail.internet.ContentType;
    src/main/java/com/nimbusds/oauth2/sdk/http/HTTPMessage.java:            } catch (javax.mail.internet.ParseException e) {
    src/main/java/com/nimbusds/oauth2/sdk/http/HTTPMessage.java:            } catch (javax.mail.internet.ParseException e) {
    src/main/java/com/nimbusds/oauth2/sdk/client/ClientMetadata.java:import javax.mail.internet.AddressException;
    src/main/java/com/nimbusds/oauth2/sdk/client/ClientMetadata.java:import javax.mail.internet.InternetAddress;
    src/main/java/com/nimbusds/oauth2/sdk/util/JSONObjectUtils.java:import javax.mail.internet.AddressException;
    src/main/java/com/nimbusds/oauth2/sdk/util/JSONObjectUtils.java:import javax.mail.internet.InternetAddress;
    src/main/java/com/nimbusds/oauth2/sdk/util/JSONObjectUtils.java:         * {@code javax.mail.internet.InternetAddress}.
    src/main/java/com/nimbusds/oauth2/sdk/util/ContentTypeUtils.java:import javax.mail.internet.ContentType;
    
  5. Log in to comment