Rocky_Mountain_Vending/.pnpm-store/v10/files/8c/6d4e3794be9932e4b7a4553a996dda91fea7ca402be57e8471148688e3b364a11709cecff3466e2c0144f456947742541ea04719451ad856b4dbdc44645fe8
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

157 lines
6.6 KiB
Text

import { Command as $Command } from "@smithy/smithy-client";
import type { MetadataBearer as __MetadataBearer } from "@smithy/types";
import type { CreateOAuth2TokenRequest, CreateOAuth2TokenResponse } from "../models/models_0";
import type { SigninClientResolvedConfig } from "../SigninClient";
/**
* @public
*/
export type { __MetadataBearer };
export { $Command };
/**
* @public
*
* The input for {@link CreateOAuth2TokenCommand}.
*/
export interface CreateOAuth2TokenCommandInput extends CreateOAuth2TokenRequest {
}
/**
* @public
*
* The output of {@link CreateOAuth2TokenCommand}.
*/
export interface CreateOAuth2TokenCommandOutput extends CreateOAuth2TokenResponse, __MetadataBearer {
}
declare const CreateOAuth2TokenCommand_base: {
new (input: CreateOAuth2TokenCommandInput): import("@smithy/smithy-client").CommandImpl<CreateOAuth2TokenCommandInput, CreateOAuth2TokenCommandOutput, SigninClientResolvedConfig, CreateOAuth2TokenCommandInput, CreateOAuth2TokenCommandOutput>;
new (input: CreateOAuth2TokenCommandInput): import("@smithy/smithy-client").CommandImpl<CreateOAuth2TokenCommandInput, CreateOAuth2TokenCommandOutput, SigninClientResolvedConfig, CreateOAuth2TokenCommandInput, CreateOAuth2TokenCommandOutput>;
getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
};
/**
* CreateOAuth2Token API
*
* Path: /v1/token
* Request Method: POST
* Content-Type: application/json or application/x-www-form-urlencoded
*
* This API implements OAuth 2.0 flows for AWS Sign-In CLI clients, supporting both:
* 1. Authorization code redemption (grant_type=authorization_code) - NOT idempotent
* 2. Token refresh (grant_type=refresh_token) - Idempotent within token validity window
*
* The operation behavior is determined by the grant_type parameter in the request body:
*
* **Authorization Code Flow (NOT Idempotent):**
* - JSON or form-encoded body with client_id, grant_type=authorization_code, code, redirect_uri, code_verifier
* - Returns access_token, token_type, expires_in, refresh_token, and id_token
* - Each authorization code can only be used ONCE for security (prevents replay attacks)
*
* **Token Refresh Flow (Idempotent):**
* - JSON or form-encoded body with client_id, grant_type=refresh_token, refresh_token
* - Returns access_token, token_type, expires_in, and refresh_token (no id_token)
* - Multiple calls with same refresh_token return consistent results within validity window
*
* Authentication and authorization:
* - Confidential clients: sigv4 signing required with signin:ExchangeToken permissions
* - CLI clients (public): authn/authz skipped based on client_id & grant_type
*
* Note: This operation cannot be marked as @idempotent because it handles both idempotent
* (token refresh) and non-idempotent (auth code redemption) flows in a single endpoint.
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
* import { SigninClient, CreateOAuth2TokenCommand } from "@aws-sdk/client-signin"; // ES Modules import
* // const { SigninClient, CreateOAuth2TokenCommand } = require("@aws-sdk/client-signin"); // CommonJS import
* // import type { SigninClientConfig } from "@aws-sdk/client-signin";
* const config = {}; // type is SigninClientConfig
* const client = new SigninClient(config);
* const input = { // CreateOAuth2TokenRequest
* tokenInput: { // CreateOAuth2TokenRequestBody
* clientId: "STRING_VALUE", // required
* grantType: "STRING_VALUE", // required
* code: "STRING_VALUE",
* redirectUri: "STRING_VALUE",
* codeVerifier: "STRING_VALUE",
* refreshToken: "STRING_VALUE",
* },
* };
* const command = new CreateOAuth2TokenCommand(input);
* const response = await client.send(command);
* // { // CreateOAuth2TokenResponse
* // tokenOutput: { // CreateOAuth2TokenResponseBody
* // accessToken: { // AccessToken
* // accessKeyId: "STRING_VALUE", // required
* // secretAccessKey: "STRING_VALUE", // required
* // sessionToken: "STRING_VALUE", // required
* // },
* // tokenType: "STRING_VALUE", // required
* // expiresIn: Number("int"), // required
* // refreshToken: "STRING_VALUE", // required
* // idToken: "STRING_VALUE",
* // },
* // };
*
* ```
*
* @param CreateOAuth2TokenCommandInput - {@link CreateOAuth2TokenCommandInput}
* @returns {@link CreateOAuth2TokenCommandOutput}
* @see {@link CreateOAuth2TokenCommandInput} for command's `input` shape.
* @see {@link CreateOAuth2TokenCommandOutput} for command's `response` shape.
* @see {@link SigninClientResolvedConfig | config} for SigninClient's `config` shape.
*
* @throws {@link AccessDeniedException} (client fault)
* Error thrown for access denied scenarios with flexible HTTP status mapping
*
* Runtime HTTP Status Code Mapping:
* - HTTP 401 (Unauthorized): TOKEN_EXPIRED, AUTHCODE_EXPIRED
* - HTTP 403 (Forbidden): USER_CREDENTIALS_CHANGED, INSUFFICIENT_PERMISSIONS
*
* The specific HTTP status code is determined at runtime based on the error enum value.
* Consumers should use the error field to determine the specific access denial reason.
*
* @throws {@link InternalServerException} (server fault)
* Error thrown when an internal server error occurs
*
* HTTP Status Code: 500 Internal Server Error
*
* Used for unexpected server-side errors that prevent request processing.
*
* @throws {@link TooManyRequestsError} (client fault)
* Error thrown when rate limit is exceeded
*
* HTTP Status Code: 429 Too Many Requests
*
* Possible OAuth2ErrorCode values:
* - INVALID_REQUEST: Rate limiting, too many requests, abuse prevention
*
* Possible causes:
* - Too many token requests from the same client
* - Rate limiting based on client_id or IP address
* - Abuse prevention mechanisms triggered
* - Service protection against excessive token generation
*
* @throws {@link ValidationException} (client fault)
* Error thrown when request validation fails
*
* HTTP Status Code: 400 Bad Request
*
* Used for request validation errors such as malformed parameters,
* missing required fields, or invalid parameter values.
*
* @throws {@link SigninServiceException}
* <p>Base exception class for all service exceptions from Signin service.</p>
*
*
* @public
*/
export declare class CreateOAuth2TokenCommand extends CreateOAuth2TokenCommand_base {
/** @internal type navigation helper, not in runtime. */
protected static __types: {
api: {
input: CreateOAuth2TokenRequest;
output: CreateOAuth2TokenResponse;
};
sdk: {
input: CreateOAuth2TokenCommandInput;
output: CreateOAuth2TokenCommandOutput;
};
};
}