in providers/src/main/java/com/microsoft/alm/provider/UserPasswordCredentialProvider.java [134:175]
public Credential getCredentialFor(final URI uri, final PromptBehavior promptBehavior,
final Options options) {
Debug.Assert(uri != null, "uri cannot be null");
Debug.Assert(promptBehavior != null, "promptBehavior cannot be null");
Debug.Assert(options != null, "options cannot be null");
String username = null;
String password = null;
logger.info("Getting credential that works for uri: {}", uri);
if (authenticator.isCredentialSupported()) {
logger.info("Getting credential based on Basic Auth");
final Credential credential = authenticator.getCredential(uri, promptBehavior);
if (credential != null) {
username = credential.Username;
password = credential.Password;
}
} else if (authenticator.isOAuth2TokenSupported()) {
logger.info("Getting credential based on OAuth2 token");
final TokenPair tokenPair = authenticator.getOAuth2TokenPair(promptBehavior);
if (tokenPair != null && tokenPair.AccessToken != null) {
username = authenticator.getAuthType();
password = tokenPair.AccessToken.Value;
}
} else if (authenticator.isPersonalAccessTokenSupported()) {
logger.info("Getting credential based on PersonalAccessToken");
final Token token = authenticator.getPersonalAccessToken(uri,
options.patGenerationOptions.tokenScope,
options.patGenerationOptions.displayName,
promptBehavior);
if (token != null) {
username = authenticator.getAuthType();
password = token.Value;
}
}
return createCreds(username, password);
}