Я пытаюсь пройти аутентификацию в фоновом режиме при загрузке страницы и избавиться от ручного ввода имени пользователя и пароля для доступа к вызовам API из приложения для мониторинга производительности приложений. Я использовал следующий код, чтобы попытаться аутентифицироваться автоматически. Я создал функцию и вызвал ее с помощью ax ios GET
в ComponentDidMount()
async Authorise()
{
var session_url = '/controller/rest/applications';
var username = 'user';
var password = 'password';
var basicAuth = 'Basic ' + btoa('username' + ':' + 'password');
await axios.get("/controller/rest/applications/", {}, {
withCredentials: true,
connection: "open",
upload: "XMLHttpRequestUpload",
readyState: "4",
headers: { 'Authorization': + basicAuth, "Accept": "application/xml",
"Content-Type": "application/xml",
"Access-Control-Allow-Origin": "*",
}
}).then(function(response) {
console.log('Authenticated');
}).catch(function(error) {
console.log('Error on Authentication');
});}
Я получаю 403 для кода, написанного выше.
Вот код, человек из службы поддержки приложения дал мне пройти аутентификацию (Basi c Auth), код находится в Java.
restClient = ClientBuilder.newBuilder().build();
URI uri = restClient.target(controllerUrl).getUri();
HttpGet httpGet = new HttpGet(uri);
httpGet.setHeader(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON);
CredentialsProvider provider = new BasicCredentialsProvider();
provider.setCredentials(
AuthScope.ANY,
new UsernamePasswordCredentials("user1@customer1", "password")
);
CloseableHttpClient httpClient = HttpClientBuilder.create()
.setDefaultCredentialsProvider(provider)
.build();
try (CloseableHttpResponse response = httpClient.execute(httpGet)) {
int status = response.getStatusLine().getStatusCode();
if (status == 200) {
System.out.println(EntityUtils.toString(response.getEntity()));
}
} catch (IOException e) {
throw new RuntimeException("Exception while logging into the controllerUrl " + controllerUrl, e);
}
Может ли кто-нибудь помочь мне с эквивалентом javascript ax ios код для приведенного выше фрагмента кода java для basi c auth?