Skip to content

Commit 8515f5e

Browse files
[typescript-angular] Include OIDC credential headers (OpenAPITools#23065)
1 parent a761136 commit 8515f5e

File tree

3 files changed

+51
-0
lines changed

3 files changed

+51
-0
lines changed

modules/openapi-generator/src/main/resources/typescript-angular/api.service.mustache

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,9 @@ export class {{classname}} extends BaseService {
186186
{{#isOAuth}}
187187
localVarHeaders = this.configuration.addCredentialToHeaders('{{name}}', 'Authorization', localVarHeaders, 'Bearer ');
188188
{{/isOAuth}}
189+
{{#isOpenId}}
190+
localVarHeaders = this.configuration.addCredentialToHeaders('{{name}}', 'Authorization', localVarHeaders, 'Bearer ');
191+
{{/isOpenId}}
189192

190193
{{/authMethods}}
191194
const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([

modules/openapi-generator/src/test/java/org/openapitools/codegen/typescript/typescriptangular/TypeScriptAngularClientCodegenTest.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -489,4 +489,29 @@ public void testDeepObject() throws IOException {
489489
assertThat(fileContents).containsSubsequence("'options',\n", "<any>options,\n", "QueryParamStyle.DeepObject,\n", "true,\n");
490490
assertThat(fileContents).containsSubsequence("'inputOptions',\n", "<any>inputOptions,\n", "QueryParamStyle.DeepObject,\n", "true,\n");
491491
}
492+
493+
@Test
494+
public void testOpenIdCredentialsAreSet() throws IOException {
495+
// GIVEN
496+
final String specPath = "src/test/resources/3_1/issue_21245.yaml";
497+
498+
File output = Files.createTempDirectory("test").toFile();
499+
output.deleteOnExit();
500+
501+
// WHEN
502+
final CodegenConfigurator configurator = new CodegenConfigurator()
503+
.setGeneratorName("typescript-angular")
504+
.setInputSpec(specPath)
505+
.setOutputDir(output.getAbsolutePath().replace("\\", "/"));
506+
507+
final ClientOptInput clientOptInput = configurator.toClientOptInput();
508+
509+
Generator generator = new DefaultGenerator();
510+
generator.opts(clientOptInput).generate();
511+
512+
//THEN
513+
final String fileContents = Files.readString(Paths.get(output + "/api/default.service.ts"));
514+
String credentialsSet = "localVarHeaders = this.configuration.addCredentialToHeaders('oidc', 'Authorization', localVarHeaders, 'Bearer ');";
515+
assertThat(fileContents).contains(credentialsSet);
516+
}
492517
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
openapi: 3.1.0
2+
info:
3+
title: Angular OIDC test
4+
version: 1.0.0
5+
paths:
6+
/test:
7+
get:
8+
responses:
9+
'200':
10+
description: Successful response
11+
content:
12+
application/json:
13+
schema:
14+
type: string
15+
components:
16+
securitySchemes:
17+
oidc:
18+
type: openIdConnect
19+
openIdConnectUrl: 'http://localhost:8000'
20+
security:
21+
- oidc:
22+
- board:read
23+
- board:write

0 commit comments

Comments
 (0)