diff --git a/modules/openapi-generator/src/main/resources/typescript-angular/api.service.mustache b/modules/openapi-generator/src/main/resources/typescript-angular/api.service.mustache index 822343842431..f60df119a660 100644 --- a/modules/openapi-generator/src/main/resources/typescript-angular/api.service.mustache +++ b/modules/openapi-generator/src/main/resources/typescript-angular/api.service.mustache @@ -186,6 +186,9 @@ export class {{classname}} extends BaseService { {{#isOAuth}} localVarHeaders = this.configuration.addCredentialToHeaders('{{name}}', 'Authorization', localVarHeaders, 'Bearer '); {{/isOAuth}} +{{#isOpenId}} + localVarHeaders = this.configuration.addCredentialToHeaders('{{name}}', 'Authorization', localVarHeaders, 'Bearer '); +{{/isOpenId}} {{/authMethods}} const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/typescript/typescriptangular/TypeScriptAngularClientCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/typescript/typescriptangular/TypeScriptAngularClientCodegenTest.java index 7d7de3a8840e..e3acfc556211 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/typescript/typescriptangular/TypeScriptAngularClientCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/typescript/typescriptangular/TypeScriptAngularClientCodegenTest.java @@ -489,4 +489,29 @@ public void testDeepObject() throws IOException { assertThat(fileContents).containsSubsequence("'options',\n", "options,\n", "QueryParamStyle.DeepObject,\n", "true,\n"); assertThat(fileContents).containsSubsequence("'inputOptions',\n", "inputOptions,\n", "QueryParamStyle.DeepObject,\n", "true,\n"); } + + @Test + public void testOpenIdCredentialsAreSet() throws IOException { + // GIVEN + final String specPath = "src/test/resources/3_1/issue_21245.yaml"; + + File output = Files.createTempDirectory("test").toFile(); + output.deleteOnExit(); + + // WHEN + final CodegenConfigurator configurator = new CodegenConfigurator() + .setGeneratorName("typescript-angular") + .setInputSpec(specPath) + .setOutputDir(output.getAbsolutePath().replace("\\", "/")); + + final ClientOptInput clientOptInput = configurator.toClientOptInput(); + + Generator generator = new DefaultGenerator(); + generator.opts(clientOptInput).generate(); + + //THEN + final String fileContents = Files.readString(Paths.get(output + "/api/default.service.ts")); + String credentialsSet = "localVarHeaders = this.configuration.addCredentialToHeaders('oidc', 'Authorization', localVarHeaders, 'Bearer ');"; + assertThat(fileContents).contains(credentialsSet); + } } diff --git a/modules/openapi-generator/src/test/resources/3_1/issue_21245.yaml b/modules/openapi-generator/src/test/resources/3_1/issue_21245.yaml new file mode 100644 index 000000000000..e3c71d1243bd --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_1/issue_21245.yaml @@ -0,0 +1,23 @@ +openapi: 3.1.0 +info: + title: Angular OIDC test + version: 1.0.0 +paths: + /test: + get: + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: string +components: + securitySchemes: + oidc: + type: openIdConnect + openIdConnectUrl: 'http://localhost:8000' +security: + - oidc: + - board:read + - board:write \ No newline at end of file