Rocky_Mountain_Vending/.pnpm-store/v10/files/b3/c66d3a9c5c86668410f70eb64bfcdae3e999232ad33e552e4120149f2c9d991eae6e12b6d1f4d11c466d04d94fd22fba8ff51820895563e37755136416d1d2
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

49 lines
1.5 KiB
Text

import type { Identity, IdentityProvider } from "../identity/identity";
import type { HandlerExecutionContext } from "../middleware";
import type { HttpSigner } from "./HttpSigner";
import type { IdentityProviderConfig } from "./IdentityProviderConfig";
/**
* ID for {@link HttpAuthScheme}
* @internal
*/
export type HttpAuthSchemeId = string;
/**
* Interface that defines an HttpAuthScheme
* @internal
*/
export interface HttpAuthScheme {
/**
* ID for an HttpAuthScheme, typically the absolute shape ID of a Smithy auth trait.
*/
schemeId: HttpAuthSchemeId;
/**
* Gets the IdentityProvider corresponding to an HttpAuthScheme.
*/
identityProvider(config: IdentityProviderConfig): IdentityProvider<Identity> | undefined;
/**
* HttpSigner corresponding to an HttpAuthScheme.
*/
signer: HttpSigner;
}
/**
* Interface that defines the identity and signing properties when selecting
* an HttpAuthScheme.
* @internal
*/
export interface HttpAuthOption {
schemeId: HttpAuthSchemeId;
identityProperties?: Record<string, unknown>;
signingProperties?: Record<string, unknown>;
propertiesExtractor?: <TConfig extends object, TContext extends HandlerExecutionContext>(config: TConfig, context: TContext) => {
identityProperties?: Record<string, unknown>;
signingProperties?: Record<string, unknown>;
};
}
/**
* @internal
*/
export interface SelectedHttpAuthScheme {
httpAuthOption: HttpAuthOption;
identity: Identity;
signer: HttpSigner;
}