跳到内容

OAuth 2.0 配置

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

属性名称Docker 变量描述
clientIdOAUTH_CLIENT_ID默认的 clientId。必须是字符串
clientSecretOAUTH_CLIENT_SECRET🚨 切勿在生产环境中使用此参数。它会暴露关键安全信息。此功能仅适用于开发/测试环境。🚨
默认的 clientSecret。必须是字符串
realmOAUTH_REALM添加到 authorizationUrltokenUrl 的 realm 查询参数(用于 OAuth 1)。必须是字符串
appNameOAUTH_APP_NAME应用程序名称,显示在授权弹窗中。必须是字符串
scopeSeparatorOAUTH_SCOPE_SEPARATOR用于传递作用域的范围分隔符,在调用前进行编码,默认值为一个空格(编码值为 %20)。必须是字符串
scopesOAUTH_SCOPES字符串数组或作用域分隔符(即空格)分隔的初始选定 OAuth 作用域字符串,默认为空数组
additionalQueryStringParamsOAUTH_ADDITIONAL_PARAMS添加到 authorizationUrltokenUrl 的额外查询参数。必须是一个对象
useBasicAuthenticationWithAccessCodeGrantOAUTH_USE_BASIC_AUTH仅对 accessCode 流程激活。在向 tokenUrl 发送 authorization_code 请求期间,使用 HTTP 基本认证方案(包含 Basic base64encode(client_id + client_secret)Authorization 头部)传递客户端密码。默认值为 false
usePkceWithAuthorizationCodeGrantOAUTH_USE_PKCE仅适用于 授权码 流程。代码交换证明密钥 (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
})
© . All rights reserved.