Asp .NetコアのSwaggerに基本認証ヘッダーを追加する方法。デフォルトでは、apiキーはクエリ文字列として扱われますが、ヘッダーにインクルードするようにカスタマイズする必要があります。ASP .NetコアのSwaggerに基本認証ヘッダーを追加する方法
3
A
答えて
3
いじりの時間後に私は、このソリューション
が最初に以下のようにIOperationFilterを実装した:
public class AddRequiredHeaderParameter : IOperationFilter
{
void IOperationFilter.Apply(Operation operation, OperationFilterContext context)
{
var param = new Param();
param.Name = "authorization";
param.In = "header";
param.Description = "JWT Token";
param.Required = true;
param.Type = "string";
if (operation.Parameters == null)
operation.Parameters = new List<IParameter>();
operation.Parameters.Add(param);
}
}
そして、ここで非常に重要なことがある
class Param : IParameter
{
public string Description { get; set; }
public Dictionary<string, object> Extensions { get {return new Dictionary<string, object>{{"test", true}};} }
public string In { get; set; }
public string Name { get; set; }
public string Type { get; set; }
public bool Required { get; set; }
}
IParameter
インタフェースを実装インタフェースでは ではないTypeプロパティが必要ですが、bにする必要があります威張っ-UI は
それが必要になりますし、最終的にあなたのswashbuckle設定にそれをフックアップ
services.ConfigureSwaggerGen(options =>
{
options.OperationFilter<AddRequiredHeaderParameter>();
options.SingleApiVersion(new Info
{
Version = "v1",
Title = "Test",
Description = "Test Service",
TermsOfService = "None"
});
options.DescribeAllEnumsAsStrings();
});
はそれが役に立てば幸いそこeと;)モフセンの回答に基づいて
2
は私達ができる考え出しましたこれを行うには、Iparameterインターフェイスを実装せずに
public class AddRequiredHeaderParameter : IOperationFilter
{
void IOperationFilter.Apply(Operation operation, OperationFilterContext context)
{
if (operation.Parameters == null)
operation.Parameters = new List<IParameter>();
operation.Parameters.Add(new NonBodyParameter
{
Name = "Authorization",
In = "header",
Description = "JWT Token",
Required = true,
Type = "string"
});
}
}
最後にあなたはこのコードを使用することができます
services.ConfigureSwaggerGen(options =>
{
options.OperationFilter<AddRequiredHeaderParameter>();
options.SingleApiVersion(new Info
{
Version = "v1",
Title = "Test",
Description = "Test Service",
TermsOfService = "None"
});
options.DescribeAllEnumsAsStrings();
});
1
To place in swagger-ui navbarスワッシュバックラーconfigが:
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info
{
...
});
c.AddSecurityDefinition("JWT Token", new ApiKeyScheme
{
Description = "JWT Token",
Name = "Authorization",
In = "header"
});
});
それはすべてのリクエストにAuthorizationヘッダとしてJWTトークンを追加します。
関連する問題
- 1. OAuth2CodeGrantFlowのヘッダーに基本認証を追加する方法
- 2. SOAPリクエストのヘッダーに基本認証を追加する - WebService
- 3. ASP .NetコアのExceptionFilterAttributeに応答ヘッダーを追加する
- 4. Springブートlogging.configプロパティに基本認証を追加する方法
- 5. Axis2サービスに基本認証を追加する方法は?
- 6. SOAP基本認証要求をWSDLに追加する方法
- 7. 基本認証ヘッダーは送信されません(Swagger)
- 8. Alamofireの基本認証ヘッダー
- 9. angularjs基本認証ヘッダー
- 10. Swagger UI認証ヘッダー
- 11. ヘッダーによる基本認証 - Javascript XMLHttpRequest
- 12. ASP.NETコアのWindows認証にロールを追加する方法
- 13. .netアプリケーションで基本HTTP認証とフォーム認証を併用する方法
- 14. /swagger/ui/indexページに認証を追加する - Swagger | Web API | Swashbuckle
- 15. XCODE iPhoneの基本認証のHTTPヘッダー
- 16. railsのルートに基本認証を追加するデフォルトのウェブサイト
- 17. 基本認証/アイデンティティとaspnetコア
- 18. ユーザー名とパスワードでswagger-codegenを使用する基本認証
- 19. MockWebServiceClientに基本的なHTTP認証を追加する
- 20. servletRequestにHttp基本認証を追加する
- 21. springfoxでの基本的なHTTP認証を求めるswagger
- 22. HttpBuilder-NGで基本認証要求インターセプタを追加する適切な方法
- 23. asp検証 - get .netコアでトリガーする
- 24. ASP.NETコアMVCのaspタグヘルパーにリンクパラメータを追加する方法
- 25. ASP .NETコアのWindows認証でユーザーのAD情報を取得
- 26. WCF。 RESTアーキテクチャー+基本認証。 .NET 4
- 27. ASPサイトの基本認証をフラッシュする
- 28. POSTMAN環境で認証ヘッダーを追加する方法は?
- 29. JIRA webhookで認証ヘッダーを追加する方法
- 30. Jerseyでヘッダー認証を追加する