1018 lines
42 KiB
JavaScript
1018 lines
42 KiB
JavaScript
import { getHostHeaderPlugin, resolveHostHeaderConfig } from "@aws-sdk/middleware-host-header";
|
|
import { getLoggerPlugin } from "@aws-sdk/middleware-logger";
|
|
import { getRecursionDetectionPlugin } from "@aws-sdk/middleware-recursion-detection";
|
|
import { getUserAgentPlugin, resolveUserAgentConfig } from "@aws-sdk/middleware-user-agent";
|
|
import { resolveRegionConfig } from "@smithy/config-resolver";
|
|
import { getContentLengthPlugin } from "@smithy/middleware-content-length";
|
|
import { resolveEndpointConfig } from "@smithy/middleware-endpoint";
|
|
import { getRetryPlugin, resolveRetryConfig } from "@smithy/middleware-retry";
|
|
import { Client as __Client } from "@smithy/smithy-client";
|
|
var resolveClientEndpointParameters = (options) => {
|
|
return {
|
|
...options,
|
|
useDualstackEndpoint: options.useDualstackEndpoint ?? false,
|
|
useFipsEndpoint: options.useFipsEndpoint ?? false,
|
|
defaultSigningName: "awsssooidc",
|
|
};
|
|
};
|
|
var package_default = { version: "3.429.0" };
|
|
import { defaultUserAgent } from "@aws-sdk/util-user-agent-node";
|
|
import { NODE_REGION_CONFIG_FILE_OPTIONS, NODE_REGION_CONFIG_OPTIONS, NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, } from "@smithy/config-resolver";
|
|
import { Hash } from "@smithy/hash-node";
|
|
import { NODE_MAX_ATTEMPT_CONFIG_OPTIONS, NODE_RETRY_MODE_CONFIG_OPTIONS } from "@smithy/middleware-retry";
|
|
import { loadConfig as loadNodeConfig } from "@smithy/node-config-provider";
|
|
import { NodeHttpHandler as RequestHandler, streamCollector } from "@smithy/node-http-handler";
|
|
import { calculateBodyLength } from "@smithy/util-body-length-node";
|
|
import { DEFAULT_RETRY_MODE } from "@smithy/util-retry";
|
|
import { NoOpLogger } from "@smithy/smithy-client";
|
|
import { parseUrl } from "@smithy/url-parser";
|
|
import { fromBase64, toBase64 } from "@smithy/util-base64";
|
|
import { fromUtf8, toUtf8 } from "@smithy/util-utf8";
|
|
import { resolveEndpoint } from "@smithy/util-endpoints";
|
|
var s = "required";
|
|
var t = "fn";
|
|
var u = "argv";
|
|
var v = "ref";
|
|
var a = "isSet";
|
|
var b = "tree";
|
|
var c = "error";
|
|
var d = "endpoint";
|
|
var e = "PartitionResult";
|
|
var f = "getAttr";
|
|
var g = { [s]: false, type: "String" };
|
|
var h = { [s]: true, default: false, type: "Boolean" };
|
|
var i = { [v]: "Endpoint" };
|
|
var j = { [t]: "booleanEquals", [u]: [{ [v]: "UseFIPS" }, true] };
|
|
var k = { [t]: "booleanEquals", [u]: [{ [v]: "UseDualStack" }, true] };
|
|
var l = {};
|
|
var m = { [t]: "booleanEquals", [u]: [true, { [t]: f, [u]: [{ [v]: e }, "supportsFIPS"] }] };
|
|
var n = { [v]: e };
|
|
var o = { [t]: "booleanEquals", [u]: [true, { [t]: f, [u]: [n, "supportsDualStack"] }] };
|
|
var p = [j];
|
|
var q = [k];
|
|
var r = [{ [v]: "Region" }];
|
|
var _data = {
|
|
version: "1.0",
|
|
parameters: { Region: g, UseDualStack: h, UseFIPS: h, Endpoint: g },
|
|
rules: [
|
|
{
|
|
conditions: [{ [t]: a, [u]: [i] }],
|
|
type: b,
|
|
rules: [
|
|
{ conditions: p, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: c },
|
|
{ conditions: q, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: c },
|
|
{ endpoint: { url: i, properties: l, headers: l }, type: d },
|
|
],
|
|
},
|
|
{
|
|
conditions: [{ [t]: a, [u]: r }],
|
|
type: b,
|
|
rules: [
|
|
{
|
|
conditions: [{ [t]: "aws.partition", [u]: r, assign: e }],
|
|
type: b,
|
|
rules: [
|
|
{
|
|
conditions: [j, k],
|
|
type: b,
|
|
rules: [
|
|
{
|
|
conditions: [m, o],
|
|
type: b,
|
|
rules: [
|
|
{
|
|
endpoint: {
|
|
url: "https://oidc-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",
|
|
properties: l,
|
|
headers: l,
|
|
},
|
|
type: d,
|
|
},
|
|
],
|
|
},
|
|
{ error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: c },
|
|
],
|
|
},
|
|
{
|
|
conditions: p,
|
|
type: b,
|
|
rules: [
|
|
{
|
|
conditions: [m],
|
|
type: b,
|
|
rules: [
|
|
{
|
|
conditions: [{ [t]: "stringEquals", [u]: ["aws-us-gov", { [t]: f, [u]: [n, "name"] }] }],
|
|
endpoint: { url: "https://oidc.{Region}.amazonaws.com", properties: l, headers: l },
|
|
type: d,
|
|
},
|
|
{
|
|
endpoint: {
|
|
url: "https://oidc-fips.{Region}.{PartitionResult#dnsSuffix}",
|
|
properties: l,
|
|
headers: l,
|
|
},
|
|
type: d,
|
|
},
|
|
],
|
|
},
|
|
{ error: "FIPS is enabled but this partition does not support FIPS", type: c },
|
|
],
|
|
},
|
|
{
|
|
conditions: q,
|
|
type: b,
|
|
rules: [
|
|
{
|
|
conditions: [o],
|
|
type: b,
|
|
rules: [
|
|
{
|
|
endpoint: {
|
|
url: "https://oidc.{Region}.{PartitionResult#dualStackDnsSuffix}",
|
|
properties: l,
|
|
headers: l,
|
|
},
|
|
type: d,
|
|
},
|
|
],
|
|
},
|
|
{ error: "DualStack is enabled but this partition does not support DualStack", type: c },
|
|
],
|
|
},
|
|
{
|
|
endpoint: { url: "https://oidc.{Region}.{PartitionResult#dnsSuffix}", properties: l, headers: l },
|
|
type: d,
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{ error: "Invalid Configuration: Missing Region", type: c },
|
|
],
|
|
};
|
|
var ruleSet = _data;
|
|
var defaultEndpointResolver = (endpointParams, context = {}) => {
|
|
return resolveEndpoint(ruleSet, {
|
|
endpointParams,
|
|
logger: context.logger,
|
|
});
|
|
};
|
|
var getRuntimeConfig = (config) => ({
|
|
apiVersion: "2019-06-10",
|
|
base64Decoder: config?.base64Decoder ?? fromBase64,
|
|
base64Encoder: config?.base64Encoder ?? toBase64,
|
|
disableHostPrefix: config?.disableHostPrefix ?? false,
|
|
endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,
|
|
extensions: config?.extensions ?? [],
|
|
logger: config?.logger ?? new NoOpLogger(),
|
|
serviceId: config?.serviceId ?? "SSO OIDC",
|
|
urlParser: config?.urlParser ?? parseUrl,
|
|
utf8Decoder: config?.utf8Decoder ?? fromUtf8,
|
|
utf8Encoder: config?.utf8Encoder ?? toUtf8,
|
|
});
|
|
import { loadConfigsForDefaultMode } from "@smithy/smithy-client";
|
|
import { resolveDefaultsModeConfig } from "@smithy/util-defaults-mode-node";
|
|
import { emitWarningIfUnsupportedVersion } from "@smithy/smithy-client";
|
|
var getRuntimeConfig2 = (config) => {
|
|
emitWarningIfUnsupportedVersion(process.version);
|
|
const defaultsMode = resolveDefaultsModeConfig(config);
|
|
const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode);
|
|
const clientSharedValues = getRuntimeConfig(config);
|
|
return {
|
|
...clientSharedValues,
|
|
...config,
|
|
runtime: "node",
|
|
defaultsMode,
|
|
bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,
|
|
defaultUserAgentProvider: config?.defaultUserAgentProvider ??
|
|
defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: package_default.version }),
|
|
maxAttempts: config?.maxAttempts ?? loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS),
|
|
region: config?.region ?? loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS),
|
|
requestHandler: config?.requestHandler ?? new RequestHandler(defaultConfigProvider),
|
|
retryMode: config?.retryMode ??
|
|
loadNodeConfig({
|
|
...NODE_RETRY_MODE_CONFIG_OPTIONS,
|
|
default: async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE,
|
|
}),
|
|
sha256: config?.sha256 ?? Hash.bind(null, "sha256"),
|
|
streamCollector: config?.streamCollector ?? streamCollector,
|
|
useDualstackEndpoint: config?.useDualstackEndpoint ?? loadNodeConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS),
|
|
useFipsEndpoint: config?.useFipsEndpoint ?? loadNodeConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS),
|
|
};
|
|
};
|
|
import { getAwsRegionExtensionConfiguration, resolveAwsRegionExtensionConfiguration, } from "@aws-sdk/region-config-resolver";
|
|
import { getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig } from "@smithy/protocol-http";
|
|
import { getDefaultExtensionConfiguration, resolveDefaultRuntimeConfig } from "@smithy/smithy-client";
|
|
var asPartial = (t2) => t2;
|
|
var resolveRuntimeExtensions = (runtimeConfig, extensions) => {
|
|
const extensionConfiguration = {
|
|
...asPartial(getAwsRegionExtensionConfiguration(runtimeConfig)),
|
|
...asPartial(getDefaultExtensionConfiguration(runtimeConfig)),
|
|
...asPartial(getHttpHandlerExtensionConfiguration(runtimeConfig)),
|
|
};
|
|
extensions.forEach((extension) => extension.configure(extensionConfiguration));
|
|
return {
|
|
...runtimeConfig,
|
|
...resolveAwsRegionExtensionConfiguration(extensionConfiguration),
|
|
...resolveDefaultRuntimeConfig(extensionConfiguration),
|
|
...resolveHttpHandlerRuntimeConfig(extensionConfiguration),
|
|
};
|
|
};
|
|
var SSOOIDCClient = class extends __Client {
|
|
constructor(...[configuration]) {
|
|
const _config_0 = getRuntimeConfig2(configuration || {});
|
|
const _config_1 = resolveClientEndpointParameters(_config_0);
|
|
const _config_2 = resolveRegionConfig(_config_1);
|
|
const _config_3 = resolveEndpointConfig(_config_2);
|
|
const _config_4 = resolveRetryConfig(_config_3);
|
|
const _config_5 = resolveHostHeaderConfig(_config_4);
|
|
const _config_6 = resolveUserAgentConfig(_config_5);
|
|
const _config_7 = resolveRuntimeExtensions(_config_6, configuration?.extensions || []);
|
|
super(_config_7);
|
|
this.config = _config_7;
|
|
this.middlewareStack.use(getRetryPlugin(this.config));
|
|
this.middlewareStack.use(getContentLengthPlugin(this.config));
|
|
this.middlewareStack.use(getHostHeaderPlugin(this.config));
|
|
this.middlewareStack.use(getLoggerPlugin(this.config));
|
|
this.middlewareStack.use(getRecursionDetectionPlugin(this.config));
|
|
this.middlewareStack.use(getUserAgentPlugin(this.config));
|
|
}
|
|
destroy() {
|
|
super.destroy();
|
|
}
|
|
};
|
|
import { createAggregatedClient } from "@smithy/smithy-client";
|
|
import { getEndpointPlugin } from "@smithy/middleware-endpoint";
|
|
import { getSerdePlugin } from "@smithy/middleware-serde";
|
|
import { Command as $Command } from "@smithy/smithy-client";
|
|
import { SMITHY_CONTEXT_KEY } from "@smithy/types";
|
|
import { HttpRequest as __HttpRequest } from "@smithy/protocol-http";
|
|
import { _json, collectBody, decorateServiceException as __decorateServiceException, expectInt32 as __expectInt32, expectLong as __expectLong, expectNonNull as __expectNonNull, expectObject as __expectObject, expectString as __expectString, map, take, withBaseException, } from "@smithy/smithy-client";
|
|
import { ServiceException as __ServiceException, } from "@smithy/smithy-client";
|
|
var SSOOIDCServiceException = class _SSOOIDCServiceException extends __ServiceException {
|
|
constructor(options) {
|
|
super(options);
|
|
Object.setPrototypeOf(this, _SSOOIDCServiceException.prototype);
|
|
}
|
|
};
|
|
var AccessDeniedException = class _AccessDeniedException extends SSOOIDCServiceException {
|
|
constructor(opts) {
|
|
super({
|
|
name: "AccessDeniedException",
|
|
$fault: "client",
|
|
...opts,
|
|
});
|
|
this.name = "AccessDeniedException";
|
|
this.$fault = "client";
|
|
Object.setPrototypeOf(this, _AccessDeniedException.prototype);
|
|
this.error = opts.error;
|
|
this.error_description = opts.error_description;
|
|
}
|
|
};
|
|
var AuthorizationPendingException = class _AuthorizationPendingException extends SSOOIDCServiceException {
|
|
constructor(opts) {
|
|
super({
|
|
name: "AuthorizationPendingException",
|
|
$fault: "client",
|
|
...opts,
|
|
});
|
|
this.name = "AuthorizationPendingException";
|
|
this.$fault = "client";
|
|
Object.setPrototypeOf(this, _AuthorizationPendingException.prototype);
|
|
this.error = opts.error;
|
|
this.error_description = opts.error_description;
|
|
}
|
|
};
|
|
var ExpiredTokenException = class _ExpiredTokenException extends SSOOIDCServiceException {
|
|
constructor(opts) {
|
|
super({
|
|
name: "ExpiredTokenException",
|
|
$fault: "client",
|
|
...opts,
|
|
});
|
|
this.name = "ExpiredTokenException";
|
|
this.$fault = "client";
|
|
Object.setPrototypeOf(this, _ExpiredTokenException.prototype);
|
|
this.error = opts.error;
|
|
this.error_description = opts.error_description;
|
|
}
|
|
};
|
|
var InternalServerException = class _InternalServerException extends SSOOIDCServiceException {
|
|
constructor(opts) {
|
|
super({
|
|
name: "InternalServerException",
|
|
$fault: "server",
|
|
...opts,
|
|
});
|
|
this.name = "InternalServerException";
|
|
this.$fault = "server";
|
|
Object.setPrototypeOf(this, _InternalServerException.prototype);
|
|
this.error = opts.error;
|
|
this.error_description = opts.error_description;
|
|
}
|
|
};
|
|
var InvalidClientException = class _InvalidClientException extends SSOOIDCServiceException {
|
|
constructor(opts) {
|
|
super({
|
|
name: "InvalidClientException",
|
|
$fault: "client",
|
|
...opts,
|
|
});
|
|
this.name = "InvalidClientException";
|
|
this.$fault = "client";
|
|
Object.setPrototypeOf(this, _InvalidClientException.prototype);
|
|
this.error = opts.error;
|
|
this.error_description = opts.error_description;
|
|
}
|
|
};
|
|
var InvalidGrantException = class _InvalidGrantException extends SSOOIDCServiceException {
|
|
constructor(opts) {
|
|
super({
|
|
name: "InvalidGrantException",
|
|
$fault: "client",
|
|
...opts,
|
|
});
|
|
this.name = "InvalidGrantException";
|
|
this.$fault = "client";
|
|
Object.setPrototypeOf(this, _InvalidGrantException.prototype);
|
|
this.error = opts.error;
|
|
this.error_description = opts.error_description;
|
|
}
|
|
};
|
|
var InvalidRequestException = class _InvalidRequestException extends SSOOIDCServiceException {
|
|
constructor(opts) {
|
|
super({
|
|
name: "InvalidRequestException",
|
|
$fault: "client",
|
|
...opts,
|
|
});
|
|
this.name = "InvalidRequestException";
|
|
this.$fault = "client";
|
|
Object.setPrototypeOf(this, _InvalidRequestException.prototype);
|
|
this.error = opts.error;
|
|
this.error_description = opts.error_description;
|
|
}
|
|
};
|
|
var InvalidScopeException = class _InvalidScopeException extends SSOOIDCServiceException {
|
|
constructor(opts) {
|
|
super({
|
|
name: "InvalidScopeException",
|
|
$fault: "client",
|
|
...opts,
|
|
});
|
|
this.name = "InvalidScopeException";
|
|
this.$fault = "client";
|
|
Object.setPrototypeOf(this, _InvalidScopeException.prototype);
|
|
this.error = opts.error;
|
|
this.error_description = opts.error_description;
|
|
}
|
|
};
|
|
var SlowDownException = class _SlowDownException extends SSOOIDCServiceException {
|
|
constructor(opts) {
|
|
super({
|
|
name: "SlowDownException",
|
|
$fault: "client",
|
|
...opts,
|
|
});
|
|
this.name = "SlowDownException";
|
|
this.$fault = "client";
|
|
Object.setPrototypeOf(this, _SlowDownException.prototype);
|
|
this.error = opts.error;
|
|
this.error_description = opts.error_description;
|
|
}
|
|
};
|
|
var UnauthorizedClientException = class _UnauthorizedClientException extends SSOOIDCServiceException {
|
|
constructor(opts) {
|
|
super({
|
|
name: "UnauthorizedClientException",
|
|
$fault: "client",
|
|
...opts,
|
|
});
|
|
this.name = "UnauthorizedClientException";
|
|
this.$fault = "client";
|
|
Object.setPrototypeOf(this, _UnauthorizedClientException.prototype);
|
|
this.error = opts.error;
|
|
this.error_description = opts.error_description;
|
|
}
|
|
};
|
|
var UnsupportedGrantTypeException = class _UnsupportedGrantTypeException extends SSOOIDCServiceException {
|
|
constructor(opts) {
|
|
super({
|
|
name: "UnsupportedGrantTypeException",
|
|
$fault: "client",
|
|
...opts,
|
|
});
|
|
this.name = "UnsupportedGrantTypeException";
|
|
this.$fault = "client";
|
|
Object.setPrototypeOf(this, _UnsupportedGrantTypeException.prototype);
|
|
this.error = opts.error;
|
|
this.error_description = opts.error_description;
|
|
}
|
|
};
|
|
var InvalidClientMetadataException = class _InvalidClientMetadataException extends SSOOIDCServiceException {
|
|
constructor(opts) {
|
|
super({
|
|
name: "InvalidClientMetadataException",
|
|
$fault: "client",
|
|
...opts,
|
|
});
|
|
this.name = "InvalidClientMetadataException";
|
|
this.$fault = "client";
|
|
Object.setPrototypeOf(this, _InvalidClientMetadataException.prototype);
|
|
this.error = opts.error;
|
|
this.error_description = opts.error_description;
|
|
}
|
|
};
|
|
var se_CreateTokenCommand = async (input, context) => {
|
|
const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
|
|
const headers = {
|
|
"content-type": "application/json",
|
|
};
|
|
const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/token`;
|
|
let body;
|
|
body = JSON.stringify(take(input, {
|
|
clientId: [],
|
|
clientSecret: [],
|
|
code: [],
|
|
deviceCode: [],
|
|
grantType: [],
|
|
redirectUri: [],
|
|
refreshToken: [],
|
|
scope: (_) => _json(_),
|
|
}));
|
|
return new __HttpRequest({
|
|
protocol,
|
|
hostname,
|
|
port,
|
|
method: "POST",
|
|
headers,
|
|
path: resolvedPath,
|
|
body,
|
|
});
|
|
};
|
|
var se_RegisterClientCommand = async (input, context) => {
|
|
const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
|
|
const headers = {
|
|
"content-type": "application/json",
|
|
};
|
|
const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/client/register`;
|
|
let body;
|
|
body = JSON.stringify(take(input, {
|
|
clientName: [],
|
|
clientType: [],
|
|
scopes: (_) => _json(_),
|
|
}));
|
|
return new __HttpRequest({
|
|
protocol,
|
|
hostname,
|
|
port,
|
|
method: "POST",
|
|
headers,
|
|
path: resolvedPath,
|
|
body,
|
|
});
|
|
};
|
|
var se_StartDeviceAuthorizationCommand = async (input, context) => {
|
|
const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
|
|
const headers = {
|
|
"content-type": "application/json",
|
|
};
|
|
const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}/device_authorization`;
|
|
let body;
|
|
body = JSON.stringify(take(input, {
|
|
clientId: [],
|
|
clientSecret: [],
|
|
startUrl: [],
|
|
}));
|
|
return new __HttpRequest({
|
|
protocol,
|
|
hostname,
|
|
port,
|
|
method: "POST",
|
|
headers,
|
|
path: resolvedPath,
|
|
body,
|
|
});
|
|
};
|
|
var de_CreateTokenCommand = async (output, context) => {
|
|
if (output.statusCode !== 200 && output.statusCode >= 300) {
|
|
return de_CreateTokenCommandError(output, context);
|
|
}
|
|
const contents = map({
|
|
$metadata: deserializeMetadata(output),
|
|
});
|
|
const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
|
|
const doc = take(data, {
|
|
accessToken: __expectString,
|
|
expiresIn: __expectInt32,
|
|
idToken: __expectString,
|
|
refreshToken: __expectString,
|
|
tokenType: __expectString,
|
|
});
|
|
Object.assign(contents, doc);
|
|
return contents;
|
|
};
|
|
var de_CreateTokenCommandError = async (output, context) => {
|
|
const parsedOutput = {
|
|
...output,
|
|
body: await parseErrorBody(output.body, context),
|
|
};
|
|
const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
|
|
switch (errorCode) {
|
|
case "AccessDeniedException":
|
|
case "com.amazonaws.ssooidc#AccessDeniedException":
|
|
throw await de_AccessDeniedExceptionRes(parsedOutput, context);
|
|
case "AuthorizationPendingException":
|
|
case "com.amazonaws.ssooidc#AuthorizationPendingException":
|
|
throw await de_AuthorizationPendingExceptionRes(parsedOutput, context);
|
|
case "ExpiredTokenException":
|
|
case "com.amazonaws.ssooidc#ExpiredTokenException":
|
|
throw await de_ExpiredTokenExceptionRes(parsedOutput, context);
|
|
case "InternalServerException":
|
|
case "com.amazonaws.ssooidc#InternalServerException":
|
|
throw await de_InternalServerExceptionRes(parsedOutput, context);
|
|
case "InvalidClientException":
|
|
case "com.amazonaws.ssooidc#InvalidClientException":
|
|
throw await de_InvalidClientExceptionRes(parsedOutput, context);
|
|
case "InvalidGrantException":
|
|
case "com.amazonaws.ssooidc#InvalidGrantException":
|
|
throw await de_InvalidGrantExceptionRes(parsedOutput, context);
|
|
case "InvalidRequestException":
|
|
case "com.amazonaws.ssooidc#InvalidRequestException":
|
|
throw await de_InvalidRequestExceptionRes(parsedOutput, context);
|
|
case "InvalidScopeException":
|
|
case "com.amazonaws.ssooidc#InvalidScopeException":
|
|
throw await de_InvalidScopeExceptionRes(parsedOutput, context);
|
|
case "SlowDownException":
|
|
case "com.amazonaws.ssooidc#SlowDownException":
|
|
throw await de_SlowDownExceptionRes(parsedOutput, context);
|
|
case "UnauthorizedClientException":
|
|
case "com.amazonaws.ssooidc#UnauthorizedClientException":
|
|
throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);
|
|
case "UnsupportedGrantTypeException":
|
|
case "com.amazonaws.ssooidc#UnsupportedGrantTypeException":
|
|
throw await de_UnsupportedGrantTypeExceptionRes(parsedOutput, context);
|
|
default:
|
|
const parsedBody = parsedOutput.body;
|
|
return throwDefaultError({
|
|
output,
|
|
parsedBody,
|
|
errorCode,
|
|
});
|
|
}
|
|
};
|
|
var de_RegisterClientCommand = async (output, context) => {
|
|
if (output.statusCode !== 200 && output.statusCode >= 300) {
|
|
return de_RegisterClientCommandError(output, context);
|
|
}
|
|
const contents = map({
|
|
$metadata: deserializeMetadata(output),
|
|
});
|
|
const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
|
|
const doc = take(data, {
|
|
authorizationEndpoint: __expectString,
|
|
clientId: __expectString,
|
|
clientIdIssuedAt: __expectLong,
|
|
clientSecret: __expectString,
|
|
clientSecretExpiresAt: __expectLong,
|
|
tokenEndpoint: __expectString,
|
|
});
|
|
Object.assign(contents, doc);
|
|
return contents;
|
|
};
|
|
var de_RegisterClientCommandError = async (output, context) => {
|
|
const parsedOutput = {
|
|
...output,
|
|
body: await parseErrorBody(output.body, context),
|
|
};
|
|
const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
|
|
switch (errorCode) {
|
|
case "InternalServerException":
|
|
case "com.amazonaws.ssooidc#InternalServerException":
|
|
throw await de_InternalServerExceptionRes(parsedOutput, context);
|
|
case "InvalidClientMetadataException":
|
|
case "com.amazonaws.ssooidc#InvalidClientMetadataException":
|
|
throw await de_InvalidClientMetadataExceptionRes(parsedOutput, context);
|
|
case "InvalidRequestException":
|
|
case "com.amazonaws.ssooidc#InvalidRequestException":
|
|
throw await de_InvalidRequestExceptionRes(parsedOutput, context);
|
|
case "InvalidScopeException":
|
|
case "com.amazonaws.ssooidc#InvalidScopeException":
|
|
throw await de_InvalidScopeExceptionRes(parsedOutput, context);
|
|
default:
|
|
const parsedBody = parsedOutput.body;
|
|
return throwDefaultError({
|
|
output,
|
|
parsedBody,
|
|
errorCode,
|
|
});
|
|
}
|
|
};
|
|
var de_StartDeviceAuthorizationCommand = async (output, context) => {
|
|
if (output.statusCode !== 200 && output.statusCode >= 300) {
|
|
return de_StartDeviceAuthorizationCommandError(output, context);
|
|
}
|
|
const contents = map({
|
|
$metadata: deserializeMetadata(output),
|
|
});
|
|
const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
|
|
const doc = take(data, {
|
|
deviceCode: __expectString,
|
|
expiresIn: __expectInt32,
|
|
interval: __expectInt32,
|
|
userCode: __expectString,
|
|
verificationUri: __expectString,
|
|
verificationUriComplete: __expectString,
|
|
});
|
|
Object.assign(contents, doc);
|
|
return contents;
|
|
};
|
|
var de_StartDeviceAuthorizationCommandError = async (output, context) => {
|
|
const parsedOutput = {
|
|
...output,
|
|
body: await parseErrorBody(output.body, context),
|
|
};
|
|
const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
|
|
switch (errorCode) {
|
|
case "InternalServerException":
|
|
case "com.amazonaws.ssooidc#InternalServerException":
|
|
throw await de_InternalServerExceptionRes(parsedOutput, context);
|
|
case "InvalidClientException":
|
|
case "com.amazonaws.ssooidc#InvalidClientException":
|
|
throw await de_InvalidClientExceptionRes(parsedOutput, context);
|
|
case "InvalidRequestException":
|
|
case "com.amazonaws.ssooidc#InvalidRequestException":
|
|
throw await de_InvalidRequestExceptionRes(parsedOutput, context);
|
|
case "SlowDownException":
|
|
case "com.amazonaws.ssooidc#SlowDownException":
|
|
throw await de_SlowDownExceptionRes(parsedOutput, context);
|
|
case "UnauthorizedClientException":
|
|
case "com.amazonaws.ssooidc#UnauthorizedClientException":
|
|
throw await de_UnauthorizedClientExceptionRes(parsedOutput, context);
|
|
default:
|
|
const parsedBody = parsedOutput.body;
|
|
return throwDefaultError({
|
|
output,
|
|
parsedBody,
|
|
errorCode,
|
|
});
|
|
}
|
|
};
|
|
var throwDefaultError = withBaseException(SSOOIDCServiceException);
|
|
var de_AccessDeniedExceptionRes = async (parsedOutput, context) => {
|
|
const contents = map({});
|
|
const data = parsedOutput.body;
|
|
const doc = take(data, {
|
|
error: __expectString,
|
|
error_description: __expectString,
|
|
});
|
|
Object.assign(contents, doc);
|
|
const exception = new AccessDeniedException({
|
|
$metadata: deserializeMetadata(parsedOutput),
|
|
...contents,
|
|
});
|
|
return __decorateServiceException(exception, parsedOutput.body);
|
|
};
|
|
var de_AuthorizationPendingExceptionRes = async (parsedOutput, context) => {
|
|
const contents = map({});
|
|
const data = parsedOutput.body;
|
|
const doc = take(data, {
|
|
error: __expectString,
|
|
error_description: __expectString,
|
|
});
|
|
Object.assign(contents, doc);
|
|
const exception = new AuthorizationPendingException({
|
|
$metadata: deserializeMetadata(parsedOutput),
|
|
...contents,
|
|
});
|
|
return __decorateServiceException(exception, parsedOutput.body);
|
|
};
|
|
var de_ExpiredTokenExceptionRes = async (parsedOutput, context) => {
|
|
const contents = map({});
|
|
const data = parsedOutput.body;
|
|
const doc = take(data, {
|
|
error: __expectString,
|
|
error_description: __expectString,
|
|
});
|
|
Object.assign(contents, doc);
|
|
const exception = new ExpiredTokenException({
|
|
$metadata: deserializeMetadata(parsedOutput),
|
|
...contents,
|
|
});
|
|
return __decorateServiceException(exception, parsedOutput.body);
|
|
};
|
|
var de_InternalServerExceptionRes = async (parsedOutput, context) => {
|
|
const contents = map({});
|
|
const data = parsedOutput.body;
|
|
const doc = take(data, {
|
|
error: __expectString,
|
|
error_description: __expectString,
|
|
});
|
|
Object.assign(contents, doc);
|
|
const exception = new InternalServerException({
|
|
$metadata: deserializeMetadata(parsedOutput),
|
|
...contents,
|
|
});
|
|
return __decorateServiceException(exception, parsedOutput.body);
|
|
};
|
|
var de_InvalidClientExceptionRes = async (parsedOutput, context) => {
|
|
const contents = map({});
|
|
const data = parsedOutput.body;
|
|
const doc = take(data, {
|
|
error: __expectString,
|
|
error_description: __expectString,
|
|
});
|
|
Object.assign(contents, doc);
|
|
const exception = new InvalidClientException({
|
|
$metadata: deserializeMetadata(parsedOutput),
|
|
...contents,
|
|
});
|
|
return __decorateServiceException(exception, parsedOutput.body);
|
|
};
|
|
var de_InvalidClientMetadataExceptionRes = async (parsedOutput, context) => {
|
|
const contents = map({});
|
|
const data = parsedOutput.body;
|
|
const doc = take(data, {
|
|
error: __expectString,
|
|
error_description: __expectString,
|
|
});
|
|
Object.assign(contents, doc);
|
|
const exception = new InvalidClientMetadataException({
|
|
$metadata: deserializeMetadata(parsedOutput),
|
|
...contents,
|
|
});
|
|
return __decorateServiceException(exception, parsedOutput.body);
|
|
};
|
|
var de_InvalidGrantExceptionRes = async (parsedOutput, context) => {
|
|
const contents = map({});
|
|
const data = parsedOutput.body;
|
|
const doc = take(data, {
|
|
error: __expectString,
|
|
error_description: __expectString,
|
|
});
|
|
Object.assign(contents, doc);
|
|
const exception = new InvalidGrantException({
|
|
$metadata: deserializeMetadata(parsedOutput),
|
|
...contents,
|
|
});
|
|
return __decorateServiceException(exception, parsedOutput.body);
|
|
};
|
|
var de_InvalidRequestExceptionRes = async (parsedOutput, context) => {
|
|
const contents = map({});
|
|
const data = parsedOutput.body;
|
|
const doc = take(data, {
|
|
error: __expectString,
|
|
error_description: __expectString,
|
|
});
|
|
Object.assign(contents, doc);
|
|
const exception = new InvalidRequestException({
|
|
$metadata: deserializeMetadata(parsedOutput),
|
|
...contents,
|
|
});
|
|
return __decorateServiceException(exception, parsedOutput.body);
|
|
};
|
|
var de_InvalidScopeExceptionRes = async (parsedOutput, context) => {
|
|
const contents = map({});
|
|
const data = parsedOutput.body;
|
|
const doc = take(data, {
|
|
error: __expectString,
|
|
error_description: __expectString,
|
|
});
|
|
Object.assign(contents, doc);
|
|
const exception = new InvalidScopeException({
|
|
$metadata: deserializeMetadata(parsedOutput),
|
|
...contents,
|
|
});
|
|
return __decorateServiceException(exception, parsedOutput.body);
|
|
};
|
|
var de_SlowDownExceptionRes = async (parsedOutput, context) => {
|
|
const contents = map({});
|
|
const data = parsedOutput.body;
|
|
const doc = take(data, {
|
|
error: __expectString,
|
|
error_description: __expectString,
|
|
});
|
|
Object.assign(contents, doc);
|
|
const exception = new SlowDownException({
|
|
$metadata: deserializeMetadata(parsedOutput),
|
|
...contents,
|
|
});
|
|
return __decorateServiceException(exception, parsedOutput.body);
|
|
};
|
|
var de_UnauthorizedClientExceptionRes = async (parsedOutput, context) => {
|
|
const contents = map({});
|
|
const data = parsedOutput.body;
|
|
const doc = take(data, {
|
|
error: __expectString,
|
|
error_description: __expectString,
|
|
});
|
|
Object.assign(contents, doc);
|
|
const exception = new UnauthorizedClientException({
|
|
$metadata: deserializeMetadata(parsedOutput),
|
|
...contents,
|
|
});
|
|
return __decorateServiceException(exception, parsedOutput.body);
|
|
};
|
|
var de_UnsupportedGrantTypeExceptionRes = async (parsedOutput, context) => {
|
|
const contents = map({});
|
|
const data = parsedOutput.body;
|
|
const doc = take(data, {
|
|
error: __expectString,
|
|
error_description: __expectString,
|
|
});
|
|
Object.assign(contents, doc);
|
|
const exception = new UnsupportedGrantTypeException({
|
|
$metadata: deserializeMetadata(parsedOutput),
|
|
...contents,
|
|
});
|
|
return __decorateServiceException(exception, parsedOutput.body);
|
|
};
|
|
var deserializeMetadata = (output) => ({
|
|
httpStatusCode: output.statusCode,
|
|
requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"],
|
|
extendedRequestId: output.headers["x-amz-id-2"],
|
|
cfId: output.headers["x-amz-cf-id"],
|
|
});
|
|
var collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body));
|
|
var parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {
|
|
if (encoded.length) {
|
|
return JSON.parse(encoded);
|
|
}
|
|
return {};
|
|
});
|
|
var parseErrorBody = async (errorBody, context) => {
|
|
const value = await parseBody(errorBody, context);
|
|
value.message = value.message ?? value.Message;
|
|
return value;
|
|
};
|
|
var loadRestJsonErrorCode = (output, data) => {
|
|
const findKey = (object, key) => Object.keys(object).find((k2) => k2.toLowerCase() === key.toLowerCase());
|
|
const sanitizeErrorCode = (rawValue) => {
|
|
let cleanValue = rawValue;
|
|
if (typeof cleanValue === "number") {
|
|
cleanValue = cleanValue.toString();
|
|
}
|
|
if (cleanValue.indexOf(",") >= 0) {
|
|
cleanValue = cleanValue.split(",")[0];
|
|
}
|
|
if (cleanValue.indexOf(":") >= 0) {
|
|
cleanValue = cleanValue.split(":")[0];
|
|
}
|
|
if (cleanValue.indexOf("#") >= 0) {
|
|
cleanValue = cleanValue.split("#")[1];
|
|
}
|
|
return cleanValue;
|
|
};
|
|
const headerKey = findKey(output.headers, "x-amzn-errortype");
|
|
if (headerKey !== void 0) {
|
|
return sanitizeErrorCode(output.headers[headerKey]);
|
|
}
|
|
if (data.code !== void 0) {
|
|
return sanitizeErrorCode(data.code);
|
|
}
|
|
if (data["__type"] !== void 0) {
|
|
return sanitizeErrorCode(data["__type"]);
|
|
}
|
|
};
|
|
var CreateTokenCommand = class _CreateTokenCommand extends $Command {
|
|
constructor(input) {
|
|
super();
|
|
this.input = input;
|
|
}
|
|
static getEndpointParameterInstructions() {
|
|
return {
|
|
UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
|
|
Endpoint: { type: "builtInParams", name: "endpoint" },
|
|
Region: { type: "builtInParams", name: "region" },
|
|
UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
|
|
};
|
|
}
|
|
resolveMiddleware(clientStack, configuration, options) {
|
|
this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
|
|
this.middlewareStack.use(getEndpointPlugin(configuration, _CreateTokenCommand.getEndpointParameterInstructions()));
|
|
const stack = clientStack.concat(this.middlewareStack);
|
|
const { logger } = configuration;
|
|
const clientName = "SSOOIDCClient";
|
|
const commandName = "CreateTokenCommand";
|
|
const handlerExecutionContext = {
|
|
logger,
|
|
clientName,
|
|
commandName,
|
|
inputFilterSensitiveLog: (_) => _,
|
|
outputFilterSensitiveLog: (_) => _,
|
|
[SMITHY_CONTEXT_KEY]: {
|
|
service: "AWSSSOOIDCService",
|
|
operation: "CreateToken",
|
|
},
|
|
};
|
|
const { requestHandler } = configuration;
|
|
return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);
|
|
}
|
|
serialize(input, context) {
|
|
return se_CreateTokenCommand(input, context);
|
|
}
|
|
deserialize(output, context) {
|
|
return de_CreateTokenCommand(output, context);
|
|
}
|
|
};
|
|
import { getEndpointPlugin as getEndpointPlugin2 } from "@smithy/middleware-endpoint";
|
|
import { getSerdePlugin as getSerdePlugin2 } from "@smithy/middleware-serde";
|
|
import { Command as $Command2 } from "@smithy/smithy-client";
|
|
import { SMITHY_CONTEXT_KEY as SMITHY_CONTEXT_KEY2 } from "@smithy/types";
|
|
var RegisterClientCommand = class _RegisterClientCommand extends $Command2 {
|
|
constructor(input) {
|
|
super();
|
|
this.input = input;
|
|
}
|
|
static getEndpointParameterInstructions() {
|
|
return {
|
|
UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
|
|
Endpoint: { type: "builtInParams", name: "endpoint" },
|
|
Region: { type: "builtInParams", name: "region" },
|
|
UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
|
|
};
|
|
}
|
|
resolveMiddleware(clientStack, configuration, options) {
|
|
this.middlewareStack.use(getSerdePlugin2(configuration, this.serialize, this.deserialize));
|
|
this.middlewareStack.use(getEndpointPlugin2(configuration, _RegisterClientCommand.getEndpointParameterInstructions()));
|
|
const stack = clientStack.concat(this.middlewareStack);
|
|
const { logger } = configuration;
|
|
const clientName = "SSOOIDCClient";
|
|
const commandName = "RegisterClientCommand";
|
|
const handlerExecutionContext = {
|
|
logger,
|
|
clientName,
|
|
commandName,
|
|
inputFilterSensitiveLog: (_) => _,
|
|
outputFilterSensitiveLog: (_) => _,
|
|
[SMITHY_CONTEXT_KEY2]: {
|
|
service: "AWSSSOOIDCService",
|
|
operation: "RegisterClient",
|
|
},
|
|
};
|
|
const { requestHandler } = configuration;
|
|
return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);
|
|
}
|
|
serialize(input, context) {
|
|
return se_RegisterClientCommand(input, context);
|
|
}
|
|
deserialize(output, context) {
|
|
return de_RegisterClientCommand(output, context);
|
|
}
|
|
};
|
|
import { getEndpointPlugin as getEndpointPlugin3 } from "@smithy/middleware-endpoint";
|
|
import { getSerdePlugin as getSerdePlugin3 } from "@smithy/middleware-serde";
|
|
import { Command as $Command3 } from "@smithy/smithy-client";
|
|
import { SMITHY_CONTEXT_KEY as SMITHY_CONTEXT_KEY3 } from "@smithy/types";
|
|
var StartDeviceAuthorizationCommand = class _StartDeviceAuthorizationCommand extends $Command3 {
|
|
constructor(input) {
|
|
super();
|
|
this.input = input;
|
|
}
|
|
static getEndpointParameterInstructions() {
|
|
return {
|
|
UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
|
|
Endpoint: { type: "builtInParams", name: "endpoint" },
|
|
Region: { type: "builtInParams", name: "region" },
|
|
UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
|
|
};
|
|
}
|
|
resolveMiddleware(clientStack, configuration, options) {
|
|
this.middlewareStack.use(getSerdePlugin3(configuration, this.serialize, this.deserialize));
|
|
this.middlewareStack.use(getEndpointPlugin3(configuration, _StartDeviceAuthorizationCommand.getEndpointParameterInstructions()));
|
|
const stack = clientStack.concat(this.middlewareStack);
|
|
const { logger } = configuration;
|
|
const clientName = "SSOOIDCClient";
|
|
const commandName = "StartDeviceAuthorizationCommand";
|
|
const handlerExecutionContext = {
|
|
logger,
|
|
clientName,
|
|
commandName,
|
|
inputFilterSensitiveLog: (_) => _,
|
|
outputFilterSensitiveLog: (_) => _,
|
|
[SMITHY_CONTEXT_KEY3]: {
|
|
service: "AWSSSOOIDCService",
|
|
operation: "StartDeviceAuthorization",
|
|
},
|
|
};
|
|
const { requestHandler } = configuration;
|
|
return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);
|
|
}
|
|
serialize(input, context) {
|
|
return se_StartDeviceAuthorizationCommand(input, context);
|
|
}
|
|
deserialize(output, context) {
|
|
return de_StartDeviceAuthorizationCommand(output, context);
|
|
}
|
|
};
|
|
var commands = {
|
|
CreateTokenCommand,
|
|
RegisterClientCommand,
|
|
StartDeviceAuthorizationCommand,
|
|
};
|
|
var SSOOIDC = class extends SSOOIDCClient {
|
|
};
|
|
createAggregatedClient(commands, SSOOIDC);
|
|
export { AccessDeniedException, AuthorizationPendingException, CreateTokenCommand, ExpiredTokenException, InternalServerException, InvalidClientException, InvalidRequestException, InvalidScopeException, SSOOIDCClient, SlowDownException, UnauthorizedClientException, UnsupportedGrantTypeException, };
|