open-collaboration-server
Version:
Open Collaboration Server implementation, part of the Open Collaboration Tools project
44 lines • 1.88 kB
TypeScript
import { type Express } from 'express';
import { AuthProvider, Event, Info } from 'open-collaboration-protocol';
import { AuthEndpoint, AuthSuccessEvent } from './auth-endpoint.js';
import passport from 'passport';
import { Logger } from '../utils/logging.js';
import { Configuration } from '../utils/configuration.js';
export declare const oauthProviders: unique symbol;
export declare const ThirdParty: Info;
export declare abstract class OAuthEndpoint implements AuthEndpoint {
protected loginRedirectRequests: Map<string, string>;
protected logger: Logger;
protected configuration: Configuration;
protected abstract id: string;
protected abstract path: string;
protected abstract redirectPath: string;
protected scope?: string;
protected baseURL?: string;
private authSuccessEmitter;
onDidAuthenticate: Event<AuthSuccessEvent>;
abstract getProtocolProvider(): AuthProvider;
initialize(): void;
abstract shouldActivate(): boolean;
abstract getStrategy(host: string, port: number): passport.Strategy;
onStart(app: Express, hostname: string, port: number): void;
protected createRedirectUrl(host: string, port: number, path: string): string;
}
export declare class GitHubOAuthEndpoint extends OAuthEndpoint {
protected id: string;
protected path: string;
protected redirectPath: string;
shouldActivate(): boolean;
getProtocolProvider(): AuthProvider;
getStrategy(hostname: string, port: number): passport.Strategy;
}
export declare class GoogleOAuthEndpoint extends OAuthEndpoint {
protected id: string;
protected path: string;
protected redirectPath: string;
protected scope: string;
shouldActivate(): boolean;
getProtocolProvider(): AuthProvider;
getStrategy(hostname: string, port: number): passport.Strategy;
}
//# sourceMappingURL=oauth-endpoint.d.ts.map