Rocky_Mountain_Vending/.pnpm-store/v10/files/bb/2008272c0b50f5a2e1b73313dc231219b9c5a56707d1da0a08012934e89ee54e32bfab79f74dc4f98c6efd048fcc625d5e5e2840e64a63b33f9908df556c4c
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 { Identity, IdentityProvider } from "../identity/identity";
import { HandlerExecutionContext } from "../middleware";
import { HttpSigner } from "./HttpSigner";
import { 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;
}