angularx-social-login
Version:
Social login and authentication module for Angular 4 / 5. Supports authentication with Google and Facebook. Can be extended to other providers also.
58 lines (57 loc) • 1.9 kB
TypeScript
import { Observable } from 'rxjs';
import { LoginProvider } from './entities/login-provider';
import { SocialUser } from './entities/user';
export interface AuthServiceConfigItem {
id: string;
provider: LoginProvider;
/**
* This field allows to load login providers SDKs lazily.
* Lazy loading is activated if it's true and vice versa.
*/
lazyLoad?: boolean;
}
export interface LoginOpt {
/**
* Facebook FB.login options: https://developers.facebook.com/docs/reference/javascript/FB.login/v2.11.
*/
auth_type?: string;
scope?: string;
return_scopes?: boolean;
enable_profile_selector?: boolean;
profile_selector_ids?: string;
/**
* Google gapi.auth2.ClientConfig: \
* https://developers.google.com/api-client-library/javascript/reference/referencedocs#gapiauth2clientconfig.
*/
client_id?: string;
cookie_policy?: string;
fetch_basic_profile?: boolean;
hosted_domain?: string;
openid_realm?: string;
ux_mode?: string;
redirect_uri?: string;
offline_access?: boolean;
prompt?: string;
login_hint?: string;
}
export declare class AuthServiceConfig {
lazyLoad: boolean;
providers: Map<string, LoginProvider>;
constructor(providers: AuthServiceConfigItem[]);
}
export declare class AuthService {
private static readonly ERR_LOGIN_PROVIDER_NOT_FOUND;
private static readonly ERR_NOT_LOGGED_IN;
private providers;
private _user;
private _authState;
private _readyState;
private initialized;
readonly authState: Observable<SocialUser>;
/** Provides an array of provider ID's as they become ready */
readonly readyState: Observable<string[]>;
constructor(config: AuthServiceConfig);
private initialize;
signIn(providerId: string, opt?: LoginOpt): Promise<SocialUser>;
signOut(revoke?: boolean): Promise<any>;
}