ng-dynami-social-login
Version:
This is social login API for Angular 7.0.3 (Facebook, Google and Linkedin)
114 lines • 10 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { BaseLoginProvider } from "../models/base.login.provider";
import { LoginProviderClassModel } from "../models/login.provider.class.model";
import { SocialUserModel } from "../models/social.user.model";
var GoogleLoginProvider = /** @class */ (function (_super) {
tslib_1.__extends(GoogleLoginProvider, _super);
function GoogleLoginProvider(clientId) {
var _this = _super.call(this) || this;
_this.clientId = clientId;
_this.loginProviderObj = new LoginProviderClassModel();
_this.loginProviderObj.id = clientId;
_this.loginProviderObj.name = 'google';
_this.loginProviderObj.url = 'https://apis.google.com/js/platform.js';
return _this;
}
/**
* @return {?}
*/
GoogleLoginProvider.prototype.initialize = /**
* @return {?}
*/
function () {
var _this = this;
return new Promise(function (resolve, reject) {
_this.loadScript(_this.loginProviderObj, function () {
gapi.load('auth2', function () {
_this.auth2 = gapi.auth2.init({
client_id: _this.clientId,
scope: 'email'
});
_this.auth2.then(function () {
if (_this.auth2.isSignedIn.get()) {
resolve(_this.drawUser());
}
});
});
});
});
};
/**
* @return {?}
*/
GoogleLoginProvider.prototype.drawUser = /**
* @return {?}
*/
function () {
/** @type {?} */
var user = new SocialUserModel();
/** @type {?} */
var profile = this.auth2.currentUser.get().getBasicProfile();
/** @type {?} */
var authResponseObj = this.auth2.currentUser.get().getAuthResponse(true);
user.id = profile.getId();
user.name = profile.getName();
user.email = profile.getEmail();
user.image = profile.getImageUrl();
user.token = authResponseObj.access_token;
user.idToken = authResponseObj.id_token;
return user;
};
/**
* @return {?}
*/
GoogleLoginProvider.prototype.signIn = /**
* @return {?}
*/
function () {
var _this = this;
return new Promise(function (resolve, reject) {
/** @type {?} */
var promise = _this.auth2.signIn();
promise.then(function () {
resolve(_this.drawUser());
});
});
};
/**
* @return {?}
*/
GoogleLoginProvider.prototype.signOut = /**
* @return {?}
*/
function () {
var _this = this;
return new Promise(function (resolve, reject) {
_this.auth2.signOut().then(function (err) {
if (err) {
reject(err);
}
else {
resolve();
}
});
});
};
GoogleLoginProvider.PROVIDER_ID = 'google';
return GoogleLoginProvider;
}(BaseLoginProvider));
export { GoogleLoginProvider };
if (false) {
/** @type {?} */
GoogleLoginProvider.PROVIDER_ID;
/** @type {?} */
GoogleLoginProvider.prototype.loginProviderObj;
/** @type {?} */
GoogleLoginProvider.prototype.auth2;
/** @type {?} */
GoogleLoginProvider.prototype.clientId;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLmxvZ2luLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZHluYW1pLXNvY2lhbC1sb2dpbi8iLCJzb3VyY2VzIjpbImxpYi9keW5hbWktc29jaWFsLWxvZ2luL3Byb3ZpZGVycy9nb29nbGUubG9naW4ucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFLOUQ7SUFBeUMsK0NBQWlCO0lBTXhELDZCQUFvQixRQUFnQjtRQUFwQyxZQUNFLGlCQUFPLFNBSVI7UUFMbUIsY0FBUSxHQUFSLFFBQVEsQ0FBUTtRQUg3QixzQkFBZ0IsR0FBNEIsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1FBSy9FLEtBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDO1FBQ3BDLEtBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1FBQ3RDLEtBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEdBQUcsd0NBQXdDLENBQUM7O0lBQ3ZFLENBQUM7Ozs7SUFFRCx3Q0FBVTs7O0lBQVY7UUFBQSxpQkFpQkM7UUFoQkMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFDLE9BQU8sRUFBRSxNQUFNO1lBQ2pDLEtBQUksQ0FBQyxVQUFVLENBQUMsS0FBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtvQkFDakIsS0FBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQzt3QkFDM0IsU0FBUyxFQUFFLEtBQUksQ0FBQyxRQUFRO3dCQUN4QixLQUFLLEVBQUUsT0FBTztxQkFDZixDQUFDLENBQUM7b0JBRUgsS0FBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7d0JBQ2QsSUFBSSxLQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBRTs0QkFDL0IsT0FBTyxDQUFDLEtBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO3lCQUMxQjtvQkFDSCxDQUFDLENBQUMsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsc0NBQVE7OztJQUFSOztZQUNNLElBQUksR0FBb0IsSUFBSSxlQUFlLEVBQUU7O1lBQzdDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLEVBQUU7O1lBQ3hELGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO1FBQ3hFLElBQUksQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFDLFlBQVksQ0FBQztRQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzs7O0lBRUQsb0NBQU07OztJQUFOO1FBQUEsaUJBT0M7UUFOQyxPQUFPLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTyxFQUFFLE1BQU07O2dCQUM3QixPQUFPLEdBQUcsS0FBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDakMsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDWCxPQUFPLENBQUMsS0FBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCxxQ0FBTzs7O0lBQVA7UUFBQSxpQkFVQztRQVRDLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPLEVBQUUsTUFBTTtZQUNqQyxLQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFDLEdBQVE7Z0JBQ2pDLElBQUksR0FBRyxFQUFFO29CQUNQLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDYjtxQkFBTTtvQkFDTCxPQUFPLEVBQUUsQ0FBQztpQkFDWDtZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBOURzQiwrQkFBVyxHQUFHLFFBQVEsQ0FBQztJQWdFaEQsMEJBQUM7Q0FBQSxBQWxFRCxDQUF5QyxpQkFBaUIsR0FrRXpEO1NBbEVZLG1CQUFtQjs7O0lBRTlCLGdDQUE4Qzs7SUFDOUMsK0NBQWlGOztJQUNqRixvQ0FBbUI7O0lBRVAsdUNBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUxvZ2luUHJvdmlkZXIgfSBmcm9tIFwiLi4vbW9kZWxzL2Jhc2UubG9naW4ucHJvdmlkZXJcIjtcclxuaW1wb3J0IHsgTG9naW5Qcm92aWRlckNsYXNzTW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL2xvZ2luLnByb3ZpZGVyLmNsYXNzLm1vZGVsXCI7XHJcbmltcG9ydCB7IFNvY2lhbFVzZXJNb2RlbCB9IGZyb20gXCIuLi9tb2RlbHMvc29jaWFsLnVzZXIubW9kZWxcIjtcclxuXHJcblxyXG5kZWNsYXJlIGxldCBnYXBpOiBhbnk7XHJcblxyXG5leHBvcnQgY2xhc3MgR29vZ2xlTG9naW5Qcm92aWRlciBleHRlbmRzIEJhc2VMb2dpblByb3ZpZGVyIHtcclxuXHJcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9WSURFUl9JRCA9ICdnb29nbGUnO1xyXG4gIHB1YmxpYyBsb2dpblByb3ZpZGVyT2JqOiBMb2dpblByb3ZpZGVyQ2xhc3NNb2RlbCA9IG5ldyBMb2dpblByb3ZpZGVyQ2xhc3NNb2RlbCgpO1xyXG4gIHByaXZhdGUgYXV0aDI6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjbGllbnRJZDogc3RyaW5nKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5sb2dpblByb3ZpZGVyT2JqLmlkID0gY2xpZW50SWQ7XHJcbiAgICB0aGlzLmxvZ2luUHJvdmlkZXJPYmoubmFtZSA9ICdnb29nbGUnO1xyXG4gICAgdGhpcy5sb2dpblByb3ZpZGVyT2JqLnVybCA9ICdodHRwczovL2FwaXMuZ29vZ2xlLmNvbS9qcy9wbGF0Zm9ybS5qcyc7XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplKCk6IFByb21pc2U8U29jaWFsVXNlck1vZGVsPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICB0aGlzLmxvYWRTY3JpcHQodGhpcy5sb2dpblByb3ZpZGVyT2JqLCAoKSA9PiB7XHJcbiAgICAgICAgICBnYXBpLmxvYWQoJ2F1dGgyJywgKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmF1dGgyID0gZ2FwaS5hdXRoMi5pbml0KHtcclxuICAgICAgICAgICAgICBjbGllbnRfaWQ6IHRoaXMuY2xpZW50SWQsXHJcbiAgICAgICAgICAgICAgc2NvcGU6ICdlbWFpbCdcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmF1dGgyLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmICh0aGlzLmF1dGgyLmlzU2lnbmVkSW4uZ2V0KCkpIHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUodGhpcy5kcmF3VXNlcigpKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkcmF3VXNlcigpOiBTb2NpYWxVc2VyTW9kZWwge1xyXG4gICAgbGV0IHVzZXI6IFNvY2lhbFVzZXJNb2RlbCA9IG5ldyBTb2NpYWxVc2VyTW9kZWwoKTtcclxuICAgIGxldCBwcm9maWxlID0gdGhpcy5hdXRoMi5jdXJyZW50VXNlci5nZXQoKS5nZXRCYXNpY1Byb2ZpbGUoKTtcclxuICAgIGxldCBhdXRoUmVzcG9uc2VPYmogPSB0aGlzLmF1dGgyLmN1cnJlbnRVc2VyLmdldCgpLmdldEF1dGhSZXNwb25zZSh0cnVlKTtcclxuICAgIHVzZXIuaWQgPSBwcm9maWxlLmdldElkKCk7XHJcbiAgICB1c2VyLm5hbWUgPSBwcm9maWxlLmdldE5hbWUoKTtcclxuICAgIHVzZXIuZW1haWwgPSBwcm9maWxlLmdldEVtYWlsKCk7XHJcbiAgICB1c2VyLmltYWdlID0gcHJvZmlsZS5nZXRJbWFnZVVybCgpO1xyXG4gICAgdXNlci50b2tlbiA9IGF1dGhSZXNwb25zZU9iai5hY2Nlc3NfdG9rZW47XHJcbiAgICB1c2VyLmlkVG9rZW4gPSBhdXRoUmVzcG9uc2VPYmouaWRfdG9rZW47XHJcbiAgICByZXR1cm4gdXNlcjtcclxuICB9XHJcblxyXG4gIHNpZ25JbigpOiBQcm9taXNlPFNvY2lhbFVzZXJNb2RlbD4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgbGV0IHByb21pc2UgPSB0aGlzLmF1dGgyLnNpZ25JbigpO1xyXG4gICAgICBwcm9taXNlLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIHJlc29sdmUodGhpcy5kcmF3VXNlcigpKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNpZ25PdXQoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIHRoaXMuYXV0aDIuc2lnbk91dCgpLnRoZW4oKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGVycikge1xyXG4gICAgICAgICAgcmVqZWN0KGVycik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=