@Nullable private Subject getSubject() { return getMongoCredential().getMechanismProperty(JAVA_SUBJECT_KEY, null); }
@NonNull <T> T getNonNullMechanismProperty(final String key, @Nullable final T defaultValue) { T mechanismProperty = credential.getCredential().getMechanismProperty(key, defaultValue); if (mechanismProperty == null) { throw new MongoInternalException("Mechanism property can not be null"); } return mechanismProperty; }
@Override protected SaslClient createSaslClient(final ServerAddress serverAddress) { MongoCredential credential = getMongoCredential(); try { Map<String, Object> saslClientProperties = credential.getMechanismProperty(JAVA_SASL_CLIENT_PROPERTIES_KEY, null); if (saslClientProperties == null) { saslClientProperties = new HashMap<String, Object>(); saslClientProperties.put(Sasl.MAX_BUFFER, "0"); saslClientProperties.put(Sasl.CREDENTIALS, getGSSCredential(credential.getUserName())); } SaslClient saslClient = Sasl.createSaslClient(new String[]{GSSAPI.getMechanismName()}, credential.getUserName(), credential.getMechanismProperty(SERVICE_NAME_KEY, SERVICE_NAME_DEFAULT_VALUE), getHostName(serverAddress), saslClientProperties, null); if (saslClient == null) { throw new MongoSecurityException(credential, String.format("No platform support for %s mechanism", GSSAPI)); } return saslClient; } catch (SaslException e) { throw new MongoSecurityException(credential, "Exception initializing SASL client", e); } catch (GSSException e) { throw new MongoSecurityException(credential, "Exception initializing GSSAPI credentials", e); } catch (UnknownHostException e) { throw new MongoSecurityException(credential, "Unable to canonicalize host name + " + serverAddress); } }
@Nullable private Subject getSubject() { return getMongoCredential().getMechanismProperty(JAVA_SUBJECT_KEY, null); }
@NonNull <T> T getNonNullMechanismProperty(final String key, @Nullable final T defaultValue) { T mechanismProperty = credential.getCredential().getMechanismProperty(key, defaultValue); if (mechanismProperty == null) { throw new MongoInternalException("Mechanism property can not be null"); } return mechanismProperty; }
@Override protected SaslClient createSaslClient(final ServerAddress serverAddress) { MongoCredential credential = getMongoCredential(); try { Map<String, Object> saslClientProperties = credential.getMechanismProperty(JAVA_SASL_CLIENT_PROPERTIES_KEY, null); if (saslClientProperties == null) { saslClientProperties = new HashMap<String, Object>(); saslClientProperties.put(Sasl.MAX_BUFFER, "0"); saslClientProperties.put(Sasl.CREDENTIALS, getGSSCredential(credential.getUserName())); } SaslClient saslClient = Sasl.createSaslClient(new String[]{GSSAPI.getMechanismName()}, credential.getUserName(), credential.getMechanismProperty(SERVICE_NAME_KEY, SERVICE_NAME_DEFAULT_VALUE), getHostName(serverAddress), saslClientProperties, null); if (saslClient == null) { throw new MongoSecurityException(credential, String.format("No platform support for %s mechanism", GSSAPI)); } return saslClient; } catch (SaslException e) { throw new MongoSecurityException(credential, "Exception initializing SASL client", e); } catch (GSSException e) { throw new MongoSecurityException(credential, "Exception initializing GSSAPI credentials", e); } catch (UnknownHostException e) { throw new MongoSecurityException(credential, "Unable to canonicalize host name + " + serverAddress); } }