2017-02-08 6 views
3

Ich habe eine django rest_framework API, Swagger und eine Swagger UI. Wenn ich nicht eingeloggt bin, sehe ich eine sehr eingeschränkte Ansicht von "login" und "docs". Wenn ich eingeloggt bin kann ich viele Sachen sehen.Verwenden von swagger-codegen mit Benutzername und Kennwort basic auth

Ich versuche, die Prahlerei-codegen zu verwenden, um einen Client zu generieren:

java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar \ 
generate -i http://127.0.0.1:8080/api/docs/ -l python -o myclient 

jedoch erzeugt es nur einen sehr begrenzten Client, den die „login“ und „Dokumente“ Funktionalität zur Verfügung stellt.

Wie kann ich mich mit der http-Standardauthentifizierung anmelden, damit swagger-codegen einen vollständigeren Client generiert?

Die docs sagt, ich sollte die folgende tun, aber ich weiß nicht, was sie erwartet:

-a <authorization>, --auth <authorization> 
     adds authorization headers when fetching the swagger definitions 
     remotely. Pass in a URL-encoded string of name:header with a comma 
     separating multiple values 

Antwort

8

Da Sie verwenden http Standardauthentifizierung der Befehl sein sollte:

java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar \ 
generate -i http://127.0.0.1:8080/api/docs/ -l python -o myclient -a "Authorization:Basic QWxhZGRpbjpPcGVuU2VzYW1l" 

Wo QWxhZGRpbjpPcGVuU2VzYW1l ist Ihr username:password in Base64 codiert.

Here können Sie sich den Code ansehen, der diese Option parsen wird.

+1

Sie können [diese Seite] (https://www.base64encode.org) verwenden, um die Anmeldeinformationen im folgenden Format zu codieren: 'username: password'. –

Verwandte Themen