web-dev-qa-db-ja.com

Swaggerswashbuckleを使用して生成されたAPIドキュメントを保護する方法

Swaggerswashbukleを使用してAPIドキュメントを実装しました。生成されたドキュメントをヘルプファイルとして自分のWebサイトに公開したいと思います。このリンクを保護して公開するにはどうすればよいですか?

10
Priyanka Mane

今まで、SwaggerSwashbuckleエンドポイントを保護する方法はないと思います。あなたは彼らのgithubの問題からこれに関するヒントなどを得ることができます ここ

2
Swagata Prateek

このソリューションは、ソリューションに認証を実装している場合にのみ機能します。

  1. ソリューションで新しいフォルダーSwaggerを作成する
  2. 新しいWeb.configファイルを追加します。
  3. その中に次のコードを書いてください:

    <configuration> 
        <system.web> 
            <authorization> 
                <deny users="?" /> 
            </authorization> 
        </system.web> 
        <system.webServer> 
            <modules runAllManagedModulesForAllRequests="true" /> 
        </system.webServer> 
    </configuration>
    
2
Priyanka Mane

私はこれを行う方法を考え出しました。最新のswashbuckleバージョンを使用し、挿入されたindex.htmlに以下のdivタグを追加します

<div id='auth_container'></div>

これにより、認証に使用できるSwagger UIに[Authorize]ボタンが表示され、Authenticatedが完了すると、APIへのすべてのリクエストに対して、JWTトークンがSwaggerUIから渡されます。

また、以下のリンクをたどって、Swaggerドキュメントのすべての呼び出しを保護してください https://github.com/domaindrivendev/Swashbuckle/issues/601

0
Silly John