UNPKG

@sap/cli-core

Version:

Command-Line Interface (CLI) Core Module

16 lines (15 loc) 1.96 kB
import { create as createNextHandler } from "../next.js"; import { create as createOrHandler } from "../or.js"; import { create as createOauthHandler } from "./oauth/index.js"; import { create as createResilientHandler } from "../resilient.js"; import { create as createCacheSecretsProvider } from "./oauth/secretsProvider/cache.js"; import { create as createRefreshTokenHandler } from "./oauth/tokenProvider/refreshToken.js"; import { create as createSetAuthorizationHandler } from "./oauth/tokenProvider/setAuthorization.js"; import { create as createPasscodeHandler } from "./passcode/index.js"; import { create as createOptionsHandler } from "../options/index.js"; import { AuthenticationMethod, OPTION_ACCESS_TOKEN, OPTION_AUTHORIZATION_FLOW, OPTION_AUTHORIZATION_URL, OPTION_CLIENT_ID, OPTION_CLIENT_SECRET, OPTION_CODE, OPTION_PASSCODE, OPTION_REFRESH_TOKEN, OPTION_SECRETS_FILE, OPTION_TOKEN_URL, } from "../../../constants.js"; import { getAuthenticationMethods } from "../../../config/core.js"; import { create as createSucceedHandler } from "../succeed.js"; export const create = () => createNextHandler("commands.handler.authentication", createResilientHandler(createNextHandler("commands.handler.authentication$oauth", createCacheSecretsProvider(), createRefreshTokenHandler())), createOptionsHandler(OPTION_CLIENT_ID), createOptionsHandler(OPTION_CLIENT_SECRET), createOptionsHandler(OPTION_ACCESS_TOKEN), createOptionsHandler(OPTION_REFRESH_TOKEN), createOptionsHandler(OPTION_CODE), createOptionsHandler(OPTION_TOKEN_URL), createOptionsHandler(OPTION_AUTHORIZATION_URL), createOptionsHandler(OPTION_AUTHORIZATION_FLOW), getAuthenticationMethods().includes(AuthenticationMethod.passcode) ? createOptionsHandler(OPTION_PASSCODE) : createSucceedHandler(), createOptionsHandler(OPTION_SECRETS_FILE), createOrHandler("commands.handler.authentication$handler", createSetAuthorizationHandler(), createPasscodeHandler(), createOauthHandler()));