File

src/entities/base-login-provider.ts

Implements

LoginProvider

Index

Properties
Methods

Constructor

constructor()

Properties

isInitialize
isInitialize: boolean
Type : boolean

Methods

initialize
initialize()
loadScript
loadScript(obj: LoginProviderClass, onload: any)
Parameters :
Name Type Optional
obj LoginProviderClass no
onload any no
Returns : void
signIn
signIn()
signOut
signOut()
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);
  }
}

results matching ""

    No results matching ""