OAuth 2.0 配置
您可以通过调用 initOAuth
方法来配置 OAuth 2.0 授权。
属性名称 | Docker 变量 | 描述 |
---|---|---|
clientId | OAUTH_CLIENT_ID | 默认的 clientId。必须是字符串 |
clientSecret | OAUTH_CLIENT_SECRET | 🚨 切勿在生产环境中使用此参数。它会暴露关键安全信息。此功能仅适用于开发/测试环境。🚨 默认的 clientSecret。必须是字符串 |
realm | OAUTH_REALM | 添加到 authorizationUrl 和 tokenUrl 的 realm 查询参数(用于 OAuth 1)。必须是字符串 |
appName | OAUTH_APP_NAME | 应用程序名称,显示在授权弹窗中。必须是字符串 |
scopeSeparator | OAUTH_SCOPE_SEPARATOR | 用于传递作用域的范围分隔符,在调用前进行编码,默认值为一个空格(编码值为 %20 )。必须是字符串 |
scopes | OAUTH_SCOPES | 字符串数组或作用域分隔符(即空格)分隔的初始选定 OAuth 作用域字符串,默认为空数组 |
additionalQueryStringParams | OAUTH_ADDITIONAL_PARAMS | 添加到 authorizationUrl 和 tokenUrl 的额外查询参数。必须是一个对象 |
useBasicAuthenticationWithAccessCodeGrant | OAUTH_USE_BASIC_AUTH | 仅对 accessCode 流程激活。在向 tokenUrl 发送 authorization_code 请求期间,使用 HTTP 基本认证方案(包含 Basic base64encode(client_id + client_secret) 的 Authorization 头部)传递客户端密码。默认值为 false |
usePkceWithAuthorizationCodeGrant | OAUTH_USE_PKCE | 仅适用于 授权码 流程。代码交换证明密钥 (PKCE) 为 OAuth 公共客户端提供了增强的安全性。默认值为 false 注意:此选项不会隐藏客户端密钥输入,因为PKCE 和客户端密钥不能相互替代。 |
1const ui = SwaggerUI({...})2
3// Method can be called in any place after calling constructor SwaggerUIBundle4ui.initOAuth({5 clientId: "your-client-id",6 clientSecret: "your-client-secret-if-required",7 realm: "your-realms",8 appName: "your-app-name",9 scopeSeparator: " ",10 scopes: "openid profile",11 additionalQueryStringParams: {test: "hello"},12 useBasicAuthenticationWithAccessCodeGrant: true,13 usePkceWithAuthorizationCodeGrant: true14 })