streambird
Version:
Node.js library for the Streambird API
40 lines (39 loc) • 1.49 kB
TypeScript
import { AxiosInstance } from "axios";
import { Resource } from "../Resource";
import { RedirectUrlResponse } from "../shared/RedirectUrlResponse";
import { Session } from "../shared/Session";
export declare type OAuthProviderRequest = {
publicToken: string;
redirect?: boolean | null;
loginRedirectUrl?: string | null;
registrationRedirectUrl?: string | null;
};
export declare type OAuthVerifyRequest = {
token: string;
sessionExpiresIn?: number | null;
sessionType?: string | null;
sessionToken?: string | null;
sessionJwt?: string | null;
};
export declare type OAuthVerifyResponse = {
providerSubject: string;
provider: string;
userId: string;
idpSession?: Idp | null;
sessionToken: string | null;
sessionJwt?: string;
session?: Session;
};
export declare type Idp = {
accessToken: string;
refreshToken: string;
};
export declare class OAuth extends Resource<OAuthVerifyRequest> {
constructor(axiosInstance: AxiosInstance);
google(request: OAuthProviderRequest): Promise<RedirectUrlResponse>;
apple(request: OAuthProviderRequest): Promise<RedirectUrlResponse>;
microsoft(request: OAuthProviderRequest): Promise<RedirectUrlResponse>;
discord(request: OAuthProviderRequest): Promise<RedirectUrlResponse>;
github(request: OAuthProviderRequest): Promise<RedirectUrlResponse>;
verify(oauthRequest: OAuthVerifyRequest): Promise<OAuthVerifyResponse>;
}