Linux中Swagger支持多种认证方式,配置方法如下:
API Key认证
securityDefinitions,指定type: apiKey,in: header,名称通常为Authorization,客户端在请求头中添加Authorization: Bearer {key}。in: query,通过URL参数传递,如?api_key=YOUR_KEY。HTTP基本认证(Basic Auth)
type: basic,客户端需将用户名和密码以Base64编码放入请求头的Authorization字段,格式为Authorization: Basic base64(username:password)。OAuth 2.0认证
type: oauth2,指定flow(如授权码模式accessCode)、authorizationUrl和tokenUrl,在API路径中通过security引用。JWT认证
Authorization: Bearer <JWT>,服务端需验证签名和有效期。jjwt)解析令牌并校验权限。OpenID Connect
type: openid-connect配置,需指定授权服务器的authorizationUrl和tokenUrl,使用ID令牌认证。注意事项:
配置示例(Swagger YAML):
securityDefinitions: basicAuth: type: basic oauth2: type: oauth2 flow: accessCode authorizationUrl: https://example.com/oauth/authorize tokenUrl: https://example.com/oauth/token paths: /secure-endpoint: get: security: - basicAuth: [] - oauth2: [read]