ng-dynami-social-login
Version:
This is social login API for Angular 7.0.3 (Facebook, Google and Linkedin)
117 lines • 10.6 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 LinkedinLoginProvider = /** @class */ (function (_super) {
tslib_1.__extends(LinkedinLoginProvider, _super);
function LinkedinLoginProvider(clientId) {
var _this = _super.call(this) || this;
_this.clientId = clientId;
_this.loginProviderObj = new LoginProviderClassModel();
_this.loginProviderObj.id = clientId;
_this.loginProviderObj.name = 'linkedin';
_this.loginProviderObj.url = 'https://platform.linkedin.com/in.js';
return _this;
}
/**
* @return {?}
*/
LinkedinLoginProvider.prototype.initialize = /**
* @return {?}
*/
function () {
var _this = this;
return new Promise(function (resolve, reject) {
_this.loadScript(_this.loginProviderObj, function () {
IN.init({
api_key: _this.clientId,
authorize: true,
onLoad: _this.onLinkedInLoad()
});
IN.Event.on(IN, 'auth', function () {
if (IN.User.isAuthorized()) {
IN.API.Raw('/people/~:(id,first-name,last-name,email-address,picture-url)').result(function (res) {
resolve(_this.drawUser(res));
});
}
});
});
});
};
/**
* @return {?}
*/
LinkedinLoginProvider.prototype.onLinkedInLoad = /**
* @return {?}
*/
function () {
IN.Event.on(IN, 'systemReady', function () {
IN.User.refresh();
});
};
/**
* @param {?} response
* @return {?}
*/
LinkedinLoginProvider.prototype.drawUser = /**
* @param {?} response
* @return {?}
*/
function (response) {
/** @type {?} */
var user = new SocialUserModel();
user.id = response.emailAddress;
user.name = response.firstName + ' ' + response.lastName;
user.email = response.emailAddress;
user.image = response.pictureUrl;
user.token = IN.ENV.auth.oauth_token;
return user;
};
/**
* @return {?}
*/
LinkedinLoginProvider.prototype.signIn = /**
* @return {?}
*/
function () {
var _this = this;
return new Promise(function (resolve, reject) {
IN.User.authorize(function () {
IN.API.Raw('/people/~:(id,first-name,last-name,email-address,picture-url)').result(function (res) {
resolve(_this.drawUser(res));
});
});
});
};
/**
* @return {?}
*/
LinkedinLoginProvider.prototype.signOut = /**
* @return {?}
*/
function () {
return new Promise(function (resolve, reject) {
IN.User.logout(function (response) {
resolve();
}, function (err) {
reject(err);
});
});
};
LinkedinLoginProvider.PROVIDER_ID = 'linkedin';
return LinkedinLoginProvider;
}(BaseLoginProvider));
export { LinkedinLoginProvider };
if (false) {
/** @type {?} */
LinkedinLoginProvider.PROVIDER_ID;
/** @type {?} */
LinkedinLoginProvider.prototype.loginProviderObj;
/** @type {?} */
LinkedinLoginProvider.prototype.clientId;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkaW4ubG9naW4ucHJvdmlkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1keW5hbWktc29jaWFsLWxvZ2luLyIsInNvdXJjZXMiOlsibGliL2R5bmFtaS1zb2NpYWwtbG9naW4vcHJvdmlkZXJzL2xpbmtlZGluLmxvZ2luLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBTTlEO0lBQTJDLGlEQUFpQjtJQUsxRCwrQkFBb0IsUUFBZ0I7UUFBcEMsWUFDRSxpQkFBTyxTQUlSO1FBTG1CLGNBQVEsR0FBUixRQUFRLENBQVE7UUFGN0Isc0JBQWdCLEdBQTRCLElBQUksdUJBQXVCLEVBQUUsQ0FBQztRQUkvRSxLQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQztRQUNwQyxLQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztRQUN4QyxLQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxHQUFHLHFDQUFxQyxDQUFDOztJQUNwRSxDQUFDOzs7O0lBRUQsMENBQVU7OztJQUFWO1FBQUEsaUJBcUJDO1FBcEJDLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPLEVBQUUsTUFBTTtZQUNqQyxLQUFJLENBQUMsVUFBVSxDQUFDLEtBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDbkMsRUFBRSxDQUFDLElBQUksQ0FBQztvQkFDTixPQUFPLEVBQUUsS0FBSSxDQUFDLFFBQVE7b0JBQ3RCLFNBQVMsRUFBRSxJQUFJO29CQUNmLE1BQU0sRUFBRSxLQUFJLENBQUMsY0FBYyxFQUFFO2lCQUM5QixDQUFDLENBQUM7Z0JBRUgsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRTtvQkFDdEIsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFO3dCQUMxQixFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FDUiwrREFBK0QsQ0FDaEUsQ0FBQyxNQUFNLENBQUUsVUFBQyxHQUEwQjs0QkFDbkMsT0FBTyxDQUFDLEtBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzt3QkFDOUIsQ0FBQyxDQUFDLENBQUM7cUJBQ0o7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELDhDQUFjOzs7SUFBZDtRQUNFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxhQUFhLEVBQUU7WUFDN0IsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7O0lBRUQsd0NBQVE7Ozs7SUFBUixVQUFTLFFBQStCOztZQUNsQyxJQUFJLEdBQW9CLElBQUksZUFBZSxFQUFFO1FBQ2pELElBQUksQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQztRQUNoQyxJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxTQUFTLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDekQsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQ25DLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQztRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNyQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Ozs7SUFFRCxzQ0FBTTs7O0lBQU47UUFBQSxpQkFRQztRQVBDLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPLEVBQUUsTUFBTTtZQUNqQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBRTtnQkFDakIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsK0RBQStELENBQUMsQ0FBQyxNQUFNLENBQUUsVUFBQyxHQUEwQjtvQkFDN0csT0FBTyxDQUFDLEtBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDOUIsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELHVDQUFPOzs7SUFBUDtRQUNFLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPLEVBQUUsTUFBTTtZQUNqQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFDLFFBQWE7Z0JBQzNCLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQyxFQUFFLFVBQUMsR0FBUTtnQkFDVixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDZCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQW5Fc0IsaUNBQVcsR0FBRyxVQUFVLENBQUM7SUFxRWxELDRCQUFDO0NBQUEsQUF2RUQsQ0FBMkMsaUJBQWlCLEdBdUUzRDtTQXZFWSxxQkFBcUI7OztJQUVoQyxrQ0FBZ0Q7O0lBQ2hELGlEQUFpRjs7SUFFckUseUNBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUxvZ2luUHJvdmlkZXIgfSBmcm9tIFwiLi4vbW9kZWxzL2Jhc2UubG9naW4ucHJvdmlkZXJcIjtcclxuaW1wb3J0IHsgTG9naW5Qcm92aWRlckNsYXNzTW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL2xvZ2luLnByb3ZpZGVyLmNsYXNzLm1vZGVsXCI7XHJcbmltcG9ydCB7IFNvY2lhbFVzZXJNb2RlbCB9IGZyb20gXCIuLi9tb2RlbHMvc29jaWFsLnVzZXIubW9kZWxcIjtcclxuaW1wb3J0IHsgTGlua2VkSW5SZXNwb25zZU1vZGVsIH0gZnJvbSBcIi4uL21vZGVscy9saW5rZWRpbi5yZXNwb25zZS5tb2RlbFwiO1xyXG5cclxuXHJcbmRlY2xhcmUgbGV0IElOOiBhbnk7XHJcblxyXG5leHBvcnQgY2xhc3MgTGlua2VkaW5Mb2dpblByb3ZpZGVyIGV4dGVuZHMgQmFzZUxvZ2luUHJvdmlkZXIge1xyXG5cclxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1ZJREVSX0lEID0gJ2xpbmtlZGluJztcclxuICBwdWJsaWMgbG9naW5Qcm92aWRlck9iajogTG9naW5Qcm92aWRlckNsYXNzTW9kZWwgPSBuZXcgTG9naW5Qcm92aWRlckNsYXNzTW9kZWwoKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjbGllbnRJZDogc3RyaW5nKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5sb2dpblByb3ZpZGVyT2JqLmlkID0gY2xpZW50SWQ7XHJcbiAgICB0aGlzLmxvZ2luUHJvdmlkZXJPYmoubmFtZSA9ICdsaW5rZWRpbic7XHJcbiAgICB0aGlzLmxvZ2luUHJvdmlkZXJPYmoudXJsID0gJ2h0dHBzOi8vcGxhdGZvcm0ubGlua2VkaW4uY29tL2luLmpzJztcclxuICB9XHJcblxyXG4gIGluaXRpYWxpemUoKTogUHJvbWlzZTxTb2NpYWxVc2VyTW9kZWw+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIHRoaXMubG9hZFNjcmlwdCh0aGlzLmxvZ2luUHJvdmlkZXJPYmosICgpID0+IHtcclxuICAgICAgICAgIElOLmluaXQoe1xyXG4gICAgICAgICAgICBhcGlfa2V5OiB0aGlzLmNsaWVudElkLFxyXG4gICAgICAgICAgICBhdXRob3JpemU6IHRydWUsXHJcbiAgICAgICAgICAgIG9uTG9hZDogdGhpcy5vbkxpbmtlZEluTG9hZCgpXHJcbiAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICBJTi5FdmVudC5vbihJTiwgJ2F1dGgnLCAoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChJTi5Vc2VyLmlzQXV0aG9yaXplZCgpKSB7XHJcbiAgICAgICAgICAgICAgSU4uQVBJLlJhdyhcclxuICAgICAgICAgICAgICAgICcvcGVvcGxlL346KGlkLGZpcnN0LW5hbWUsbGFzdC1uYW1lLGVtYWlsLWFkZHJlc3MscGljdHVyZS11cmwpJ1xyXG4gICAgICAgICAgICAgICkucmVzdWx0KCAocmVzOiBMaW5rZWRJblJlc3BvbnNlTW9kZWwpID0+IHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUodGhpcy5kcmF3VXNlcihyZXMpKTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkxpbmtlZEluTG9hZCgpIHtcclxuICAgIElOLkV2ZW50Lm9uKElOLCAnc3lzdGVtUmVhZHknLCAoKSA9PiB7XHJcbiAgICAgIElOLlVzZXIucmVmcmVzaCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkcmF3VXNlcihyZXNwb25zZTogTGlua2VkSW5SZXNwb25zZU1vZGVsKTogU29jaWFsVXNlck1vZGVsIHtcclxuICAgIGxldCB1c2VyOiBTb2NpYWxVc2VyTW9kZWwgPSBuZXcgU29jaWFsVXNlck1vZGVsKCk7XHJcbiAgICB1c2VyLmlkID0gcmVzcG9uc2UuZW1haWxBZGRyZXNzO1xyXG4gICAgdXNlci5uYW1lID0gcmVzcG9uc2UuZmlyc3ROYW1lICsgJyAnICsgcmVzcG9uc2UubGFzdE5hbWU7XHJcbiAgICB1c2VyLmVtYWlsID0gcmVzcG9uc2UuZW1haWxBZGRyZXNzO1xyXG4gICAgdXNlci5pbWFnZSA9IHJlc3BvbnNlLnBpY3R1cmVVcmw7XHJcbiAgICB1c2VyLnRva2VuID0gSU4uRU5WLmF1dGgub2F1dGhfdG9rZW47XHJcbiAgICByZXR1cm4gdXNlcjtcclxuICB9XHJcblxyXG4gIHNpZ25JbigpOiBQcm9taXNlPFNvY2lhbFVzZXJNb2RlbD4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgSU4uVXNlci5hdXRob3JpemUoICgpID0+IHtcclxuICAgICAgICBJTi5BUEkuUmF3KCcvcGVvcGxlL346KGlkLGZpcnN0LW5hbWUsbGFzdC1uYW1lLGVtYWlsLWFkZHJlc3MscGljdHVyZS11cmwpJykucmVzdWx0KCAocmVzOiBMaW5rZWRJblJlc3BvbnNlTW9kZWwpID0+IHtcclxuICAgICAgICAgIHJlc29sdmUodGhpcy5kcmF3VXNlcihyZXMpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNpZ25PdXQoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIElOLlVzZXIubG9nb3V0KChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICB9LCAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICByZWplY3QoZXJyKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==