in src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrProviderStateFactory.java [256:288]
private static Credentials getCredentials(final Map<String, Object> authenticationInfo) {
Credentials creds = null;
if (authenticationInfo != null) {
final Object credentialsObject = authenticationInfo
.get(JcrResourceConstants.AUTHENTICATION_INFO_CREDENTIALS);
if (credentialsObject instanceof Credentials) {
creds = (Credentials) credentialsObject;
} else {
// otherwise try to create SimpleCredentials if the userId is
// set
final Object userId = authenticationInfo.get(ResourceResolverFactory.USER);
if (userId instanceof String) {
final Object password = authenticationInfo.get(ResourceResolverFactory.PASSWORD);
final SimpleCredentials credentials = new SimpleCredentials((String) userId,
((password instanceof char[]) ? (char[]) password : new char[0]));
// add attributes
copyAttributes(credentials, authenticationInfo);
creds = credentials;
}
}
}
if (creds instanceof SimpleCredentials && authenticationInfo.get(NEW_PASSWORD) instanceof String) {
((SimpleCredentials) creds).setAttribute(NEW_PASSWORD, authenticationInfo.get(NEW_PASSWORD));
}
return creds;
}