433 lines
16 KiB
JavaScript
433 lines
16 KiB
JavaScript
|
import { loadRestJsonErrorCode, parseJsonBody as parseBody, parseJsonErrorBody as parseErrorBody } from "@aws-sdk/core";
|
||
|
import { requestBuilder as rb } from "@smithy/core";
|
||
|
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 { AccessDeniedException, AuthorizationPendingException, ExpiredTokenException, InternalServerException, InvalidClientException, InvalidClientMetadataException, InvalidGrantException, InvalidRedirectUriException, InvalidRequestException, InvalidRequestRegionException, InvalidScopeException, SlowDownException, UnauthorizedClientException, UnsupportedGrantTypeException, } from "../models/models_0";
|
||
|
import { SSOOIDCServiceException as __BaseException } from "../models/SSOOIDCServiceException";
|
||
|
export const se_CreateTokenCommand = async (input, context) => {
|
||
|
const b = rb(input, context);
|
||
|
const headers = {
|
||
|
"content-type": "application/json",
|
||
|
};
|
||
|
b.bp("/token");
|
||
|
let body;
|
||
|
body = JSON.stringify(take(input, {
|
||
|
clientId: [],
|
||
|
clientSecret: [],
|
||
|
code: [],
|
||
|
codeVerifier: [],
|
||
|
deviceCode: [],
|
||
|
grantType: [],
|
||
|
redirectUri: [],
|
||
|
refreshToken: [],
|
||
|
scope: (_) => _json(_),
|
||
|
}));
|
||
|
b.m("POST").h(headers).b(body);
|
||
|
return b.build();
|
||
|
};
|
||
|
export const se_CreateTokenWithIAMCommand = async (input, context) => {
|
||
|
const b = rb(input, context);
|
||
|
const headers = {
|
||
|
"content-type": "application/json",
|
||
|
};
|
||
|
b.bp("/token");
|
||
|
const query = map({
|
||
|
[_ai]: [, "t"],
|
||
|
});
|
||
|
let body;
|
||
|
body = JSON.stringify(take(input, {
|
||
|
assertion: [],
|
||
|
clientId: [],
|
||
|
code: [],
|
||
|
codeVerifier: [],
|
||
|
grantType: [],
|
||
|
redirectUri: [],
|
||
|
refreshToken: [],
|
||
|
requestedTokenType: [],
|
||
|
scope: (_) => _json(_),
|
||
|
subjectToken: [],
|
||
|
subjectTokenType: [],
|
||
|
}));
|
||
|
b.m("POST").h(headers).q(query).b(body);
|
||
|
return b.build();
|
||
|
};
|
||
|
export const se_RegisterClientCommand = async (input, context) => {
|
||
|
const b = rb(input, context);
|
||
|
const headers = {
|
||
|
"content-type": "application/json",
|
||
|
};
|
||
|
b.bp("/client/register");
|
||
|
let body;
|
||
|
body = JSON.stringify(take(input, {
|
||
|
clientName: [],
|
||
|
clientType: [],
|
||
|
entitledApplicationArn: [],
|
||
|
grantTypes: (_) => _json(_),
|
||
|
issuerUrl: [],
|
||
|
redirectUris: (_) => _json(_),
|
||
|
scopes: (_) => _json(_),
|
||
|
}));
|
||
|
b.m("POST").h(headers).b(body);
|
||
|
return b.build();
|
||
|
};
|
||
|
export const se_StartDeviceAuthorizationCommand = async (input, context) => {
|
||
|
const b = rb(input, context);
|
||
|
const headers = {
|
||
|
"content-type": "application/json",
|
||
|
};
|
||
|
b.bp("/device_authorization");
|
||
|
let body;
|
||
|
body = JSON.stringify(take(input, {
|
||
|
clientId: [],
|
||
|
clientSecret: [],
|
||
|
startUrl: [],
|
||
|
}));
|
||
|
b.m("POST").h(headers).b(body);
|
||
|
return b.build();
|
||
|
};
|
||
|
export const de_CreateTokenCommand = async (output, context) => {
|
||
|
if (output.statusCode !== 200 && output.statusCode >= 300) {
|
||
|
return de_CommandError(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;
|
||
|
};
|
||
|
export const de_CreateTokenWithIAMCommand = async (output, context) => {
|
||
|
if (output.statusCode !== 200 && output.statusCode >= 300) {
|
||
|
return de_CommandError(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,
|
||
|
issuedTokenType: __expectString,
|
||
|
refreshToken: __expectString,
|
||
|
scope: _json,
|
||
|
tokenType: __expectString,
|
||
|
});
|
||
|
Object.assign(contents, doc);
|
||
|
return contents;
|
||
|
};
|
||
|
export const de_RegisterClientCommand = async (output, context) => {
|
||
|
if (output.statusCode !== 200 && output.statusCode >= 300) {
|
||
|
return de_CommandError(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;
|
||
|
};
|
||
|
export const de_StartDeviceAuthorizationCommand = async (output, context) => {
|
||
|
if (output.statusCode !== 200 && output.statusCode >= 300) {
|
||
|
return de_CommandError(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;
|
||
|
};
|
||
|
const de_CommandError = 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);
|
||
|
case "InvalidRequestRegionException":
|
||
|
case "com.amazonaws.ssooidc#InvalidRequestRegionException":
|
||
|
throw await de_InvalidRequestRegionExceptionRes(parsedOutput, context);
|
||
|
case "InvalidClientMetadataException":
|
||
|
case "com.amazonaws.ssooidc#InvalidClientMetadataException":
|
||
|
throw await de_InvalidClientMetadataExceptionRes(parsedOutput, context);
|
||
|
case "InvalidRedirectUriException":
|
||
|
case "com.amazonaws.ssooidc#InvalidRedirectUriException":
|
||
|
throw await de_InvalidRedirectUriExceptionRes(parsedOutput, context);
|
||
|
default:
|
||
|
const parsedBody = parsedOutput.body;
|
||
|
return throwDefaultError({
|
||
|
output,
|
||
|
parsedBody,
|
||
|
errorCode,
|
||
|
});
|
||
|
}
|
||
|
};
|
||
|
const throwDefaultError = withBaseException(__BaseException);
|
||
|
const 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);
|
||
|
};
|
||
|
const 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);
|
||
|
};
|
||
|
const 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);
|
||
|
};
|
||
|
const 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);
|
||
|
};
|
||
|
const 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);
|
||
|
};
|
||
|
const 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);
|
||
|
};
|
||
|
const 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);
|
||
|
};
|
||
|
const de_InvalidRedirectUriExceptionRes = 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 InvalidRedirectUriException({
|
||
|
$metadata: deserializeMetadata(parsedOutput),
|
||
|
...contents,
|
||
|
});
|
||
|
return __decorateServiceException(exception, parsedOutput.body);
|
||
|
};
|
||
|
const 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);
|
||
|
};
|
||
|
const de_InvalidRequestRegionExceptionRes = async (parsedOutput, context) => {
|
||
|
const contents = map({});
|
||
|
const data = parsedOutput.body;
|
||
|
const doc = take(data, {
|
||
|
endpoint: __expectString,
|
||
|
error: __expectString,
|
||
|
error_description: __expectString,
|
||
|
region: __expectString,
|
||
|
});
|
||
|
Object.assign(contents, doc);
|
||
|
const exception = new InvalidRequestRegionException({
|
||
|
$metadata: deserializeMetadata(parsedOutput),
|
||
|
...contents,
|
||
|
});
|
||
|
return __decorateServiceException(exception, parsedOutput.body);
|
||
|
};
|
||
|
const 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);
|
||
|
};
|
||
|
const 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);
|
||
|
};
|
||
|
const 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);
|
||
|
};
|
||
|
const 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);
|
||
|
};
|
||
|
const 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"],
|
||
|
});
|
||
|
const collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body));
|
||
|
const isSerializableHeaderValue = (value) => value !== undefined &&
|
||
|
value !== null &&
|
||
|
value !== "" &&
|
||
|
(!Object.getOwnPropertyNames(value).includes("length") || value.length != 0) &&
|
||
|
(!Object.getOwnPropertyNames(value).includes("size") || value.size != 0);
|
||
|
const _ai = "aws_iam";
|