Forum Discussion

tarekz's avatar
6 years ago

swagger-codegen-maven-plugin: How do I use the Bearer token returned after login?

NOTE: The issue was I used the wrong header "Authentication" instead of "Authorization". Please close!


I am using swagger-codegen-maven-plugin to generate java code to use in api tests.

swagger-codegen-maven-plugin reads an inputSpec from swagger/docs/v1.

In there you find the folowing entry:

"securityDefinitions":{"Token":{"type":"apiKey","description":"API Key Authentication (bearer token)","name":"Authorization","in":"header"}}}

This generates an class with the following constructor:

public ApiClient() {
httpClient = new OkHttpClient();

verifyingSsl = true;

json = new JSON();

// Set default User-Agent.

// Setup authentications (key: authentication name, value: authentication).
authentications = new HashMap<String, Authentication>();
authentications.put("Token", new ApiKeyAuth("header", "Authorization"));
// Prevent the authentications from being modified.
authentications = Collections.unmodifiableMap(authentications);


 So far I have tried to do the following:



accountsApi.getApiClient().addDefaultHeader("Authentication", "Bearer " + loginResponse.getAccessToken());

But I keep getting an error that the request is not authorized. 

[05/24/2019 13:57:07:748 EDT] INFO SwaggerClientConfiguration: {"Message":"Authorization has been denied for this request."}

[05/24/2019 13:57:07:748 EDT] INFO SwaggerClientConfiguration: <-- END HTTP (61-byte body)


What am I doing wrong?


Thanks in advance

No RepliesBe the first to reply