1 |
|
2 | import { IClient } from '../definitions';
|
3 | export interface AuthorizationParameters {
|
4 | [key: string]: string;
|
5 | }
|
6 | export interface TokenParameters {
|
7 | [key: string]: string;
|
8 | }
|
9 | export interface OAuth2FlowOptions {
|
10 | readonly authorizationUrl: string;
|
11 | readonly tokenUrl: string;
|
12 | readonly clientId: string;
|
13 | readonly redirectHost?: string;
|
14 | readonly redirectPort?: number;
|
15 | }
|
16 | export interface OAuth2FlowDeps {
|
17 | readonly client: IClient;
|
18 | }
|
19 | export declare abstract class OAuth2Flow {
|
20 | readonly e: OAuth2FlowDeps;
|
21 | readonly authorizationUrl: string;
|
22 | readonly tokenUrl: string;
|
23 | readonly clientId: string;
|
24 | readonly redirectHost: string;
|
25 | readonly redirectPort: number;
|
26 | constructor({ authorizationUrl, tokenUrl, clientId, redirectHost, redirectPort }: OAuth2FlowOptions, e: OAuth2FlowDeps);
|
27 | get redirectUrl(): string;
|
28 | run(): Promise<string>;
|
29 | protected abstract generateAuthorizationParameters(challenge: string): AuthorizationParameters;
|
30 | protected abstract generateTokenParameters(authorizationCode: string, verifier: string): TokenParameters;
|
31 | protected getSuccessHtml(): Promise<string>;
|
32 | protected getAuthorizationCode(): Promise<string>;
|
33 | protected getAccessToken(authorizationCode: string, verifier: string): Promise<string>;
|
34 | protected generateVerifier(): string;
|
35 | protected generateChallenge(verifier: string): string;
|
36 | protected base64URLEncode(buffer: Buffer): string;
|
37 | }
|
38 | export interface Auth0OAuth2FlowOptions extends Partial<OAuth2FlowOptions> {
|
39 | readonly email: string;
|
40 | readonly connection: string;
|
41 | readonly audience?: string;
|
42 | }
|
43 | export declare class Auth0OAuth2Flow extends OAuth2Flow {
|
44 | readonly e: OAuth2FlowDeps;
|
45 | readonly email: string;
|
46 | readonly audience: string;
|
47 | readonly connection: string;
|
48 | constructor({ email, connection, audience, authorizationUrl, tokenUrl, clientId, ...options }: Auth0OAuth2FlowOptions, e: OAuth2FlowDeps);
|
49 | protected generateAuthorizationParameters(challenge: string): AuthorizationParameters;
|
50 | protected generateTokenParameters(code: string, verifier: string): TokenParameters;
|
51 | }
|