跳到内容

OAuth 2.0 配置

您可以通过调用 initOAuth 方法来配置 OAuth 2.0 授权。

属性名称Docker 变量描述
clientIdOAUTH_CLIENT_ID默认客户端 ID。必须是字符串
clientSecretOAUTH_CLIENT_SECRET🚨 切勿在您的生产环境中使用此参数。它会暴露关键的安全信息。此功能仅适用于开发/测试环境。🚨
默认客户端密钥。必须是字符串
realmOAUTH_REALM添加到 authorizationUrltokenUrl 的 realm 查询参数(用于 oauth1)。必须是字符串
appNameOAUTH_APP_NAME应用程序名称,显示在授权弹出窗口中。必须是字符串
scopeSeparatorOAUTH_SCOPE_SEPARATOR用于传递范围的范围分隔符,在调用之前进行编码,默认值为空格(编码值为 %20)。必须是字符串
scopesOAUTH_SCOPES字符串数组或最初选择的 OAuth 范围的范围分隔符(即空格)分隔字符串,默认为空数组
additionalQueryStringParamsOAUTH_ADDITIONAL_PARAMS添加到 authorizationUrltokenUrl 的其他查询参数。必须是一个对象
useBasicAuthenticationWithAccessCodeGrantOAUTH_USE_BASIC_AUTH仅针对 accessCode 流激活。在对 tokenUrlauthorization_code 请求期间,使用 HTTP 基本身份验证方案 (Authorization 标头,带有 Basic base64encode(client_id + client_secret)) 传递 客户端密码。默认值为 false
usePkceWithAuthorizationCodeGrantOAUTH_USE_PKCE仅适用于 授权码流。用于代码交换的证明密钥为 OAuth 公共客户端带来了增强的安全性。默认值为 false

注意:此选项不会隐藏客户端密钥输入,因为 PKCE 和客户端密钥都不能相互替代
1
const ui = SwaggerUI({...})
2
3
// Method can be called in any place after calling constructor SwaggerUIBundle
4
ui.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: true
14
})