Hvernig á að senda grunn auðkenningarhaus í REST-tryggingu

Þegar þú ert að prófa forritaskil eru stundum forritaskil eða endapunktar verndaðir. Þetta þýðir að þú þarft að vera staðfestur og hafa heimild til að framkvæma ákveðnar aðgerðir.

Það eru margar leiðir til að vernda API, en ein einföld leið er að nota Basic Auðkenning.

Í þessari færslu munum við skoða hvernig á að senda Basic auth haus í REST-assured.




Að senda grunnhöfuðhaus í REST-fullvissu

import io.restassured.RestAssured; import io.restassured.http.ContentType; import io.restassured.response.Response; import org.junit.Before; import org.junit.jupiter.api.*; import static io.restassured.RestAssured.given; public class UserScenarios {
private String path;
private String validRequest = '{ ' +

' 'username': 'some-user', ' +

' 'email': 'some-user@email.com', ' +

' 'password': 'Passw0rd123!' }';
@Before
public void setup() {
RestAssured.baseURI = 'http://localhost:8080';
path = '/users';
}
@Test
public void createUser() {
Response response = given()


.auth()


.preemptive()


.basic('required_username', 'required_password')


.header('Accept', ContentType.JSON.getAcceptHeader())


.contentType(ContentType.JSON)


.body(validRequest)


.post(path)


.then().extract().response();

Assertions.assertEquals(201, response.getStatusCode());
}

Í sumum tilfellum gæti netþjónn notað áskorunarviðbragðsmáta til að gefa til kynna hvenær notandinn þarf að staðfesta til að fá aðgang að auðlindinni.

Sjálfgefið bíður REST-vissur eftir því að netþjónninn taki áskorun áður en hann sendir persónuskilríkin og þannig gefur bókasafnið fyrirbyggjandi tilskipun sem við getum notað:


given()
.auth()
.preemptive()
.basic('required_username', 'required_password')