UNPKG

ngx-social-button

Version:

Social login/share buttons for Angular 6, 7, 8

112 lines (111 loc) 10.2 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { BaseLoginProviderImpl } from '../entities/baseLoginProviderImpl'; import { LoginProviderClass, SocialUser } from '../entities/user'; export class GoogleLoginProvider extends BaseLoginProviderImpl { /** * @param {?} clientId */ constructor(clientId) { super(); this.clientId = clientId; this.loginProviderObj = new LoginProviderClass(); this.TYPE = 'google'; this.loginProviderObj.id = clientId; this.loginProviderObj.name = 'google'; this.loginProviderObj.url = 'https://apis.google.com/js/platform.js'; } /** * @return {?} */ initialize() { return new Promise((resolve, reject) => { this.loadScript(this.loginProviderObj, () => { gapi.load('auth2', () => { this.auth2 = gapi.auth2.init({ client_id: this.clientId, scope: 'email' }); this.auth2.then(() => { if (this.auth2.isSignedIn.get()) { resolve(this.drawUser()); } }); }); }); }); } /** * @return {?} */ drawUser() { /** @type {?} */ const user = new SocialUser(); /** @type {?} */ const profile = this.auth2.currentUser.get().getBasicProfile(); /** @type {?} */ const authResponseObj = this.auth2.currentUser.get().getAuthResponse(true); user.id = profile.getId(); user.name = profile.getName(); user.email = profile.getEmail(); user.image = profile.getImageUrl(); user.accessToken = authResponseObj.access_token; user.idToken = authResponseObj.id_token; return user; } /** * @param {?=} scopes * @return {?} */ signIn(scopes) { return new Promise((resolve, reject) => { /** @type {?} */ const promise = this.auth2.signIn(); promise.then(() => { resolve(this.drawUser()); }).catch((err) => { reject(err); }); }); } /** * @return {?} */ signOut() { return new Promise((resolve, reject) => { this.auth2.signOut().then((err) => { if (err) { reject(err); } else { resolve(); } }); }); } /** * @param {?=} share * @return {?} */ sharing(share) { return new Promise((resolve, reject) => { resolve(); }); } } GoogleLoginProvider.PROVIDER_TYPE = 'google'; if (false) { /** @type {?} */ GoogleLoginProvider.PROVIDER_TYPE; /** @type {?} */ GoogleLoginProvider.prototype.loginProviderObj; /** @type {?} */ GoogleLoginProvider.prototype.auth2; /** @type {?} */ GoogleLoginProvider.prototype.TYPE; /** @type {?} */ GoogleLoginProvider.prototype.clientId; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlUHJvdmlkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtc29jaWFsLWJ1dHRvbi8iLCJzb3VyY2VzIjpbImxpYi9wcm92aWRlcnMvZ29vZ2xlUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxVQUFVLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUloRSxNQUFNLDBCQUEyQixTQUFRLHFCQUFxQjs7OztJQU8xRCxZQUFvQixRQUFnQjtRQUNoQyxLQUFLLEVBQUUsQ0FBQztRQURRLGFBQVEsR0FBUixRQUFRLENBQVE7Z0NBSlUsSUFBSSxrQkFBa0IsRUFBRTtvQkFFeEQsUUFBUTtRQUlsQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQztRQUNwQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUN0QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxHQUFHLHdDQUF3QyxDQUFDO0tBQ3hFOzs7O0lBRUQsVUFBVTtRQUNOLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLEVBQUU7Z0JBQ3hDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtvQkFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQzt3QkFDekIsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRO3dCQUN4QixLQUFLLEVBQUUsT0FBTztxQkFDakIsQ0FBQyxDQUFDO29CQUVILElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTt3QkFDakIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDOzRCQUM5QixPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7eUJBQzVCO3FCQUNKLENBQUMsQ0FBQztpQkFDTixDQUFDLENBQUM7YUFDTixDQUFDLENBQUM7U0FDTixDQUFDLENBQUM7S0FDTjs7OztJQUVELFFBQVE7O1FBQ0osTUFBTSxJQUFJLEdBQWUsSUFBSSxVQUFVLEVBQUUsQ0FBQzs7UUFDMUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxFQUFFLENBQUM7O1FBQy9ELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxZQUFZLENBQUM7UUFDaEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDO1FBQ3hDLE1BQU0sQ0FBQyxJQUFJLENBQUM7S0FDZjs7Ozs7SUFFRCxNQUFNLENBQUMsTUFBaUI7UUFDcEIsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFOztZQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQzthQUM1QixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ2IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2YsQ0FBQyxDQUFDO1NBQ04sQ0FBQyxDQUFDO0tBQ047Ozs7SUFFRCxPQUFPO1FBQ0gsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ25DLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ04sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUNmO2dCQUFDLElBQUksQ0FBQyxDQUFDO29CQUNKLE9BQU8sRUFBRSxDQUFDO2lCQUNiO2FBQ0osQ0FBQyxDQUFDO1NBQ04sQ0FBQyxDQUFDO0tBQ047Ozs7O0lBRUQsT0FBTyxDQUFDLEtBQVc7UUFDZixNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDbkMsT0FBTyxFQUFFLENBQUM7U0FDYixDQUFDLENBQUM7S0FDTjs7b0NBdkVzQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCYXNlTG9naW5Qcm92aWRlckltcGx9IGZyb20gJy4uL2VudGl0aWVzL2Jhc2VMb2dpblByb3ZpZGVySW1wbCc7XG5pbXBvcnQge0xvZ2luUHJvdmlkZXJDbGFzcywgU29jaWFsVXNlcn0gZnJvbSAnLi4vZW50aXRpZXMvdXNlcic7XG5cbmRlY2xhcmUgbGV0IGdhcGk6IGFueTtcblxuZXhwb3J0IGNsYXNzIEdvb2dsZUxvZ2luUHJvdmlkZXIgZXh0ZW5kcyBCYXNlTG9naW5Qcm92aWRlckltcGwge1xuXG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9WSURFUl9UWVBFID0gJ2dvb2dsZSc7XG4gICAgcHVibGljIGxvZ2luUHJvdmlkZXJPYmo6IExvZ2luUHJvdmlkZXJDbGFzcyA9IG5ldyBMb2dpblByb3ZpZGVyQ2xhc3MoKTtcbiAgICBwcml2YXRlIGF1dGgyOiBhbnk7XG4gICAgcHVibGljIFRZUEUgPSAnZ29vZ2xlJztcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2xpZW50SWQ6IHN0cmluZykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmxvZ2luUHJvdmlkZXJPYmouaWQgPSBjbGllbnRJZDtcbiAgICAgICAgdGhpcy5sb2dpblByb3ZpZGVyT2JqLm5hbWUgPSAnZ29vZ2xlJztcbiAgICAgICAgdGhpcy5sb2dpblByb3ZpZGVyT2JqLnVybCA9ICdodHRwczovL2FwaXMuZ29vZ2xlLmNvbS9qcy9wbGF0Zm9ybS5qcyc7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZSgpOiBQcm9taXNlPFNvY2lhbFVzZXI+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHRoaXMubG9hZFNjcmlwdCh0aGlzLmxvZ2luUHJvdmlkZXJPYmosICgpID0+IHtcbiAgICAgICAgICAgICAgICBnYXBpLmxvYWQoJ2F1dGgyJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmF1dGgyID0gZ2FwaS5hdXRoMi5pbml0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudF9pZDogdGhpcy5jbGllbnRJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlOiAnZW1haWwnXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXV0aDIudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5hdXRoMi5pc1NpZ25lZEluLmdldCgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLmRyYXdVc2VyKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBkcmF3VXNlcigpOiBTb2NpYWxVc2VyIHtcbiAgICAgICAgY29uc3QgdXNlcjogU29jaWFsVXNlciA9IG5ldyBTb2NpYWxVc2VyKCk7XG4gICAgICAgIGNvbnN0IHByb2ZpbGUgPSB0aGlzLmF1dGgyLmN1cnJlbnRVc2VyLmdldCgpLmdldEJhc2ljUHJvZmlsZSgpO1xuICAgICAgICBjb25zdCBhdXRoUmVzcG9uc2VPYmogPSB0aGlzLmF1dGgyLmN1cnJlbnRVc2VyLmdldCgpLmdldEF1dGhSZXNwb25zZSh0cnVlKTtcbiAgICAgICAgdXNlci5pZCA9IHByb2ZpbGUuZ2V0SWQoKTtcbiAgICAgICAgdXNlci5uYW1lID0gcHJvZmlsZS5nZXROYW1lKCk7XG4gICAgICAgIHVzZXIuZW1haWwgPSBwcm9maWxlLmdldEVtYWlsKCk7XG4gICAgICAgIHVzZXIuaW1hZ2UgPSBwcm9maWxlLmdldEltYWdlVXJsKCk7XG4gICAgICAgIHVzZXIuYWNjZXNzVG9rZW4gPSBhdXRoUmVzcG9uc2VPYmouYWNjZXNzX3Rva2VuO1xuICAgICAgICB1c2VyLmlkVG9rZW4gPSBhdXRoUmVzcG9uc2VPYmouaWRfdG9rZW47XG4gICAgICAgIHJldHVybiB1c2VyO1xuICAgIH1cblxuICAgIHNpZ25JbihzY29wZXM/OiBbc3RyaW5nXSk6IFByb21pc2U8U29jaWFsVXNlcj4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuYXV0aDIuc2lnbkluKCk7XG4gICAgICAgICAgICBwcm9taXNlLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJlc29sdmUodGhpcy5kcmF3VXNlcigpKTtcbiAgICAgICAgICAgIH0pLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzaWduT3V0KCk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmF1dGgyLnNpZ25PdXQoKS50aGVuKChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzaGFyaW5nKHNoYXJlPzogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19