OAuth 2.0設定

initOAuthメソッドを呼び出すことで、OAuth 2.0認証を設定できます。

プロパティ名 Docker変数 説明
clientId OAUTH_CLIENT_ID デフォルトのclientId。文字列である必要があります
clientSecret OAUTH_CLIENT_SECRET 🚨 本番環境では、このパラメータを使用しないでください。重要なセキュリティ情報が公開されます。この機能は、開発/テスト環境専用です。 🚨
デフォルトのclientSecret。文字列である必要があります
realm OAUTH_REALM authorizationUrltokenUrlに追加されたrealmクエリパラメータ(oauth1の場合)。文字列である必要があります
appName OAUTH_APP_NAME アプリケーション名。認証ポップアップに表示されます。文字列である必要があります
scopeSeparator OAUTH_SCOPE_SEPARATOR スコープを渡すためのスコープセパレーター。呼び出す前にエンコードされます。デフォルト値はスペースです(エンコード値%20)。文字列である必要があります
scopes OAUTH_SCOPES 文字列配列、またはスコープセパレーター(例:スペース)で区切られた、最初に選択されたoauthスコープの文字列。デフォルトは空の配列です
additionalQueryStringParams OAUTH_ADDITIONAL_PARAMS authorizationUrltokenUrlに追加された追加のクエリパラメータ。オブジェクトである必要があります
useBasicAuthenticationWithAccessCodeGrant OAUTH_USE_BASIC_AUTH accessCodeフローの場合にのみアクティブになります。 tokenUrlへのauthorization_codeリクエスト中に、HTTPベーシック認証スキーム(Basic base64encode(client_id + client_secret)を持つAuthorizationヘッダー)を使用してクライアントパスワードを渡します。デフォルトはfalseです
usePkceWithAuthorizationCodeGrant OAUTH_USE_PKCE `認証コード`フローにのみ適用されます。コード交換のプルーフキーは、OAuthパブリッククライアントのセキュリティを強化します。デフォルトは`false`です

注:このオプションは、PKCEとクライアントシークレットは相互に置き換えられるものではないため、クライアントシークレット入力は非表示になりません。
const ui = SwaggerUI({...})

// Method can be called in any place after calling constructor SwaggerUIBundle
ui.initOAuth({
    clientId: "your-client-id",
    clientSecret: "your-client-secret-if-required",
    realm: "your-realms",
    appName: "your-app-name",
    scopeSeparator: " ",
    scopes: "openid profile",
    additionalQueryStringParams: {test: "hello"},
    useBasicAuthenticationWithAccessCodeGrant: true,
    usePkceWithAuthorizationCodeGrant: true
  })