OpenAPI-Generator nicht autorisiert 401 über $ref-URL in Yaml
Posted: 13 Jan 2025, 09:59
Hier ist mein Problem: Ich arbeite an einem Stoplight-Projekt für einen bestimmten Anwendungsfall und möchte eines der gemeinsam genutzten Modelle in Stoplight verwenden, z. B. Model_1. Als ich Model_1 hinzufügte, wurde diese Zeile zu meinem YAML-Projekt hinzugefügt:
Wenn ich den Build ausführe, um Code mit dem openapi-generator-maven-plugin zu generieren, erhalte ich die folgende Fehlermeldung:
[ERROR] konnte nicht lesen
javax.net.ssl.SSLHandshakeException: PKIX-Pfaderstellung fehlgeschlagen: sun.security.provider.certpath.SunCertPathBuilderException: gültiger Zertifizierungspfad für die angeforderte Ausnahme konnte nicht gefunden werden target
at sun.security.ssl.Alert.createSSLException (Alert.java:131)
Danach habe ich versucht, den Pfad zu raw zu verwenden Daten im Repo des Modells, das ich benötige
Der Sicherheitsfehler tritt jedoch immer noch auf, unabhängig davon, ob ich die Anmeldeinformationen übergebe oder nicht.
-[ FEHLER] readjava.io.IOException konnte nicht gelesen werden: Der Server hat den HTTP-Antwortcode 401 für URL zurückgegeben: https://path/ccommon/models/Model_1.v1.yaml#master unter jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0 (Native Methode) bei jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:77) bei jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:45) bei java.lang.reflect.Constructor.newInstanceWithCaller (Constructor.java:500) und java.lang.reflect.Constructor.newInstance (Constructor.java:481)
hier mein Konfigurations-Plugin von openapi
Wie kann ich das Token oder die Anmeldeinformationen weitergeben, um auf das gemeinsam genutzte Modell zuzugreifen, oder gibt es eine alternative Möglichkeit, dieses Problem zu beheben, um eine Duplizierung des Modells zu vermeiden
Code: Select all
title: Myapi
x-stoplight:
type: object
x-internal: false
properties:
id:
type: string
x-stoplight:
id: env6e1e1evebr
readOnly: true
model2:
$ref: 'https://path/common/models/Model_1.v1.yaml?deref=bundle'
[ERROR] konnte nicht lesen
javax.net.ssl.SSLHandshakeException: PKIX-Pfaderstellung fehlgeschlagen: sun.security.provider.certpath.SunCertPathBuilderException: gültiger Zertifizierungspfad für die angeforderte Ausnahme konnte nicht gefunden werden target
at sun.security.ssl.Alert.createSSLException (Alert.java:131)
Danach habe ich versucht, den Pfad zu raw zu verwenden Daten im Repo des Modells, das ich benötige
Code: Select all
model2: $ref: 'https://path/ccommon/models/Model_1.v1.yaml#master'
Or using the credential
model2: $ref: 'https://${AR_USER}:${AR_PASSWORD}path/ccommon/models/Model_1.v1.yaml#master'
-[ FEHLER] readjava.io.IOException konnte nicht gelesen werden: Der Server hat den HTTP-Antwortcode 401 für URL zurückgegeben: https://path/ccommon/models/Model_1.v1.yaml#master unter jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0 (Native Methode) bei jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:77) bei jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:45) bei java.lang.reflect.Constructor.newInstanceWithCaller (Constructor.java:500) und java.lang.reflect.Constructor.newInstance (Constructor.java:481)
hier mein Konfigurations-Plugin von openapi
Code: Select all
org.openapitools
openapi-generator-maven-plugin
7.10.0
jaxrs-spec
false
${project.basedir}/reference/myApi.yaml
package.dto
src
path.api
true
java8-localdatetime
true
true
true
true
true
generate-api
generate