2016-07-07 5 views
0

私はswashbuckleを使って、asp.net mvc web apiプロジェクトにswaggerを追加しています。 OAuth2を追加するオプションがありますが、私のウェブサイトにはwsfederationが必要です。 wsfederationを使用してswagger UIを表示するには、認証を要求するにはどうすればよいですか? SwaggerConfigファイル内スワッシュバックルに認証を追加するにはどうすればよいですか?

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

答えて

1

認証が直接あなたのAPIを文書にリンクされており、実際の実装、いわば。 だから、あなたはあなたのswaggerConfigに次のように使用している場合:

次securitydefinitionを生成する
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"); 
       }); 

闊歩のJSONファイルで

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 

私が認証を必要とすることができますどのように

に答えるために wsfederationでswagger uiを表示しますか?

(あなたはMessageHandlerのか、フィルターを使用している場合)だけで闊歩ドキュメントの表示、WebApiConfig.csファイルでグローバル

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

を次のようなものを、認証を追加するには直接関係WEBAPIです。

しかし、Swaggerはドキュメントのクライアント側を取得するため、問題が発生する場合があります。

関連する問題