OAuth 2.0 配置
您可以通过调用 initOAuth
方法来配置 OAuth 2.0 授权。
属性名称 | Docker 变量 | 描述 |
---|---|---|
clientId | OAUTH_CLIENT_ID | 默认客户端 ID。必须是字符串 |
clientSecret | OAUTH_CLIENT_SECRET | 🚨 切勿在您的生产环境中使用此参数。它会暴露关键的安全信息。此功能仅适用于开发/测试环境。🚨 默认客户端密钥。必须是字符串 |
realm | OAUTH_REALM | 添加到 authorizationUrl 和 tokenUrl 的 realm 查询参数(用于 oauth1)。必须是字符串 |
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 基本身份验证方案 (Authorization 标头,带有 Basic base64encode(client_id + client_secret) ) 传递 客户端密码。默认值为 false |
usePkceWithAuthorizationCodeGrant | OAUTH_USE_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 })