Używam wbudowany httpclient do wydania kwerendy "get" do usługi zewnętrznej, która wymaga uwierzytelnienia. Dokładniej, próbuję przesłać zapytania z mojej usługi. Jak przekazać dane uwierzytelniające użytkownika w żądaniu? Chcę używać podstawowego uwierzytelniania zamiast zajmować się tokenami uwierzytelniania.http podstawowy auth z vert.x
5
A
Odpowiedz
15
Podstawowy auth dotyczy nagłówka autoryzacji.
Powinieneś dodać ten nagłówek z wartością złożoną z "basic" (uwaga na puste) i twój login: pass (oddzielony dwukropkiem) zakodowany w base64. Jest to bezpieczne tylko w przypadku korzystania z HTTPS.
Oto jak się to odbywa w vert.x:
HttpClient client = vertx.createHttpClient().setSSL(true)
.setTrustAll(true) //You may not want to trust them all
.setHost("api.myawesomeapi.com")
.setPort(443);
HttpClientRequest clientRequest = client.get("/"+action+"/?"+params, new Handler<HttpClientResponse>() {
public void handle(final HttpClientResponse response) {
if (response.statusCode==200){
// It worked !
} else {
// Oops
}
}
});
clientRequest.putHeader(HttpHeaders.Names.AUTHORIZATION, "Basic "+base64key);
Tutaj mam już base64key, ale gdybym miał go utworzyć, chciałbym użyć czegoś takiego:
base64key = Base64.encodeBytes(new StringBuilder(apiKey).append(":").append(secretKey).toString().getBytes(), Base64.DONT_BREAK_LINES);
Jeśli używasz POST zamiast GET, nie zapomnij dodać wymagane nagłówki:
clientRequest.putHeader(HttpHeaders.Names.CONTENT_LENGTH, String.valueOf(params.getBytes().length))
.putHeader(HttpHeaders.Names.CONTENT_TYPE, "application/x-www-form-urlencoded")
.write(params);
mam nadzieję, że pomoże
Hugo
Powiązane problemy
- 1. apache globalny podstawowy auth
- 2. http auth auth z dokumentacją api swashbuckle
- 3. CORS i HTTP basic auth
- 4. Jak uruchomić osadzony plik vert.x?
- 5. Błąd modułu Google Api Auth Http
- 6. Ajax: HTTP Basic Auth i cookie uwierzytelniający
- 7. AFNetworking Prześlij zadanie z poświadczeniami (HTTP Basic Auth)
- 8. Przekierowanie z HTTP do HTTPS w/Simple Auth
- 9. Bezpieczne Funkcje Google Chmura http wyzwalania z auth
- 10. Protect Jenkins z nginx http auth wyjątkiem zwrotnego url
- 11. Różnica między vert.x a RxJava
- 12. Dlaczego interfejs auth http jest tak słaby w przeglądarkach?
- 13. HTTP basic auth for Rack :: Aplikacja statyczna na Heroku
- 14. Wyświetlacz Sinatra Podstawowe HTTP Auth na jednej stronie tylko
- 15. Nie można ustawić nagłówka HTTP Basic Auth w AngularJS
- 16. Unikaj auth popup HTTP w rozszerzeniu chrome (digest)
- 17. Django - Auth z mongoengine DB
- 18. Jak zmienić podstawowy adres URL wywołania HTTP AngularJS? wzywa
- 19. Korzystanie z protokołu HTTP Basic-Auth z aplikacją Google App Engine Usługa URLFetch
- 20. HttpGet prośba o auth
- 21. Korzystanie Auth z punktami końcowymi
- 22. Podstawowy trójkąt LWJGL z OpenGL
- 23. Wylogowanie się z http_basic auth w Symfony2
- 24. Jak korzystać z Firebase Auth z Rails?
- 25. MongoDB 3.0.1 problemy z auth - RoboMongo
- 26. Angular 2 - JWT auth
- 27. Jak zablokować wątek, aby czekać na odpowiedź w pliku vert.x?
- 28. RestTemplate z Basic Auth w Spring 3.1
- 29. WSDL na PHP z podstawowym Auth
- 30. django-rest-auth: login społecznościowy z google
httpclient to framework Dżakarta i istnieje kilka innych nazywa to samo. Jest wbudowana obsługa połączenia URLConnection. Co masz na myśli? –
Mam na myśli wbudowany httpclinet w vert.x, który jest tworzony przez: HttpClient httpClient = vertx.createHttpClient(); – user2312682