2016-07-07 10 views
0

Ich benutze swashbuckle, um swagger meinem asp.net mvc web api Projekt hinzuzufügen. Ich sehe Optionen zum Hinzufügen von OAuth2, aber meine Website erfordert wsfederation. Wie kann ich eine Authentifizierung verlangen, um den Swagger mit WsFederation anzuzeigen?Wie sollte ich Swashbuckle Authentifizierung hinzufügen?

GlobalConfiguration.Configuration 
    .EnableSwagger(c => 
    { 
     c.SingleApiVersion("v1", "Services"); 
    }) 
    .EnableSwaggerUi(c => { }); 

Antwort

1

Authentifizierung in der SwaggerConfig Datei zu dokumentieren Ihre API direkt verbunden ist, und nicht die tatsächliche Umsetzung, sozusagen. Also, wenn Sie die folgende Verwendung in Ihrem swaggerConfig:

c.OAuth2("oauth2") 
       .Description("OAuth2 Implicit Grant") 
       .Flow("implicit") 
       .AuthorizationUrl("http://petstore.swagger.io/oauth/dialog") 
       .Scopes(scopes => 
       { 
        scopes.Add("read:pets", "read your pets"); 
        scopes.Add("write:pets", "modify pets in your account"); 
       }); 

, dass die folgenden securitydefinition in der Prahlerei JSON-Datei

securityDefinitions: 
    petstore_auth: 
    type: oauth2 
    authorizationUrl: 'http://petstore.swagger.io/oauth/dialog' 
    flow: implicit 
    scopes: 
     'write:pets': modify pets in your account 
     'read:pets': read your pets 

erzeugen würde beantworten

Wie kann ich verlangen, Authentifizierung Schau dir den Swagger mit wsfederation an?

Fügen Sie einfach die Authentifizierung global in der WebApiConfig.cs Datei, etwas ähnlich dem folgenden (wenn Sie einen Message oder Filter verwenden)

config.Filters.Add(new WSFederationAuthentication()); 

die Prahlerei Dokumentation Anzeigen direkt ist WebAPI verwandt.

Sie könnten jedoch einige Probleme haben, da Swagger die Docs-Client-Seite erhält.

Verwandte Themen