src/entities/base-login-provider.ts
Properties |
Methods |
constructor()
|
Defined in src/entities/base-login-provider.ts:4
|
isInitialize |
isInitialize:
|
Type : boolean
|
Defined in src/entities/base-login-provider.ts:6
|
initialize |
initialize()
|
Defined in src/entities/base-login-provider.ts:7
|
Returns :
Promise<SocialUser>
|
loadScript | |||||||||
loadScript(obj: LoginProviderClass, onload: any)
|
|||||||||
Defined in src/entities/base-login-provider.ts:11
|
|||||||||
Parameters :
Returns :
void
|
signIn |
signIn()
|
Defined in src/entities/base-login-provider.ts:8
|
Returns :
Promise<SocialUser>
|
signOut |
signOut()
|
Defined in src/entities/base-login-provider.ts:9
|
Returns :
Promise<any>
|
import { LoginProvider } from './login-provider';
import { SocialUser, LoginProviderClass } from './user';
export abstract class BaseLoginProvider implements LoginProvider {
constructor() { }
abstract isInitialize: boolean;
abstract initialize(): Promise<SocialUser>;
abstract signIn(): Promise<SocialUser>;
abstract signOut(): Promise<any>;
loadScript(obj: LoginProviderClass, onload: any): void {
if (document.getElementById(obj.name)) { return; }
let signInJS = document.createElement('script');
signInJS.async = true;
signInJS.src = obj.url;
signInJS.onload = onload;
if (obj.name === 'LINKEDIN') {
signInJS.async = false;
signInJS.text = ('api_key: ' + obj.id).replace('\'', '');
}
document.head.appendChild(signInJS);
}
}