基本認証をswashbuckle apiのドキュメントと統合する方法を知っている人はいますか?
swaggerconfig ファイルに basicAuth 関数があることがわかりました。
c.BasicAuth("basic").Description("Basic HTTP Authentication");
私がやったこと:
- 前の行のコメントを外しましたが、何も変わりません!
誰かが私が何を逃したか知っていますか?
ありがとう!
基本認証をswashbuckle apiのドキュメントと統合する方法を知っている人はいますか?
swaggerconfig ファイルに basicAuth 関数があることがわかりました。
c.BasicAuth("basic").Description("Basic HTTP Authentication");
私がやったこと:
誰かが私が何を逃したか知っていますか?
ありがとう!
httpbasic認証を行った方法は次のとおりです。
public class AddAuthorizationHeaderParameterOperationFilter: IOperationFilter
{
public void Apply(Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription)
{
var filterPipeline = apiDescription.ActionDescriptor.GetFilterPipeline();
var isAuthorized = filterPipeline
.Select(filterInfo => filterInfo.Instance)
.Any(filter => filter is IAuthorizationFilter);
var allowAnonymous = apiDescription.ActionDescriptor.GetCustomAttributes<AllowAnonymousAttribute>().Any();
if (isAuthorized && !allowAnonymous)
{
operation.parameters.Add(new Parameter {
name = "Authorization",
@in = "header",
description = "access token",
required = true,
type = "string"
});
}
}
}
API のユーザーは、フィールド値に basic [un:pw].tobase64 を書き込む必要があります。
参考文献: スワッシュバックル第326号 スワッシュバックル第2号