forked from alexziskind1/nativescript-oauth2
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathindex.ts
70 lines (63 loc) · 1.96 KB
/
index.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
//// <reference path="./providers/providers.d.ts" />
import { Frame, HttpResponse } from "@nativescript/core";
import { LoadEventData } from "@nativescript/core/ui";
import { TnsOaProvider, TnsOaProviderType } from "./providers";
export declare interface ITnsOAuthTokenResult {
accessToken: string;
refreshToken: string;
idToken: string;
idTokenData: string;
accessTokenExpiration: Date;
refreshTokenExpiration: Date;
idTokenExpiration: Date;
}
export declare interface ITnsOAuthIdTokenResult {
email?: string;
client_id?: string;
online_account_id?: string;
account_id?: string;
brand?: string;
}
export type TnsOAuthClientLoginBlock = (
tokenResult: ITnsOAuthTokenResult,
error
) => void;
export type TnsOAuthClientLogoutBlock = (
error
) => void;
export type TnsOAuthPageLoadStarted = (args: LoadEventData) => void;
export type TnsOAuthPageLoadFinished = (args: LoadEventData) => void;
export type TnsOAuthResponseBlock = (
data?: any,
response?: HttpResponse,
error?: Error
) => void;
export declare class TnsOAuthClient {
provider: TnsOaProvider;
tokenResult: ITnsOAuthTokenResult;
codeVerifier?: string;
pkce?: boolean;
constructor(providerType: TnsOaProviderType, ecid: string, pkce?: boolean);
loginWithCompletion(completion?: TnsOAuthClientLoginBlock): void;
logoutWithCompletion(completion?: TnsOAuthResponseBlock): void;
refreshTokenWithCompletion(completion?: TnsOAuthClientLoginBlock): void;
resumeWithUrl(url: string): void;
logout(successPage?: string): void;
getEcid(): string;
}
export const configureTnsOAuth = function(providers: TnsOaProvider[]): void{};
export interface ITnsOAuthLoginController {
loginWithParametersFrameCompletion(
parameters,
frame: Frame,
urlScheme?: string,
completion?: TnsOAuthClientLoginBlock
);
logoutWithParametersFrameCompletion(
parameters,
frame: Frame,
urlScheme?: string,
completion?: TnsOAuthClientLogoutBlock
);
resumeWithUrl(url: string);
}