UNPKG

ng-dynami-social-login

Version:

This is social login API for Angular 7.0.3 (Facebook, Google and Linkedin)

97 lines 9.81 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc */ import { BaseLoginProvider } from "../models/base.login.provider"; import { LoginProviderClassModel } from "../models/login.provider.class.model"; import { SocialUserModel } from "../models/social.user.model"; export class LinkedinLoginProvider extends BaseLoginProvider { /** * @param {?} clientId */ constructor(clientId) { super(); 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 {?} */ initialize() { return new Promise((resolve, reject) => { this.loadScript(this.loginProviderObj, () => { IN.init({ api_key: this.clientId, authorize: true, onLoad: this.onLinkedInLoad() }); IN.Event.on(IN, 'auth', () => { if (IN.User.isAuthorized()) { IN.API.Raw('/people/~:(id,first-name,last-name,email-address,picture-url)').result((res) => { resolve(this.drawUser(res)); }); } }); }); }); } /** * @return {?} */ onLinkedInLoad() { IN.Event.on(IN, 'systemReady', () => { IN.User.refresh(); }); } /** * @param {?} response * @return {?} */ drawUser(response) { /** @type {?} */ let 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 {?} */ signIn() { return new Promise((resolve, reject) => { IN.User.authorize(() => { IN.API.Raw('/people/~:(id,first-name,last-name,email-address,picture-url)').result((res) => { resolve(this.drawUser(res)); }); }); }); } /** * @return {?} */ signOut() { return new Promise((resolve, reject) => { IN.User.logout((response) => { resolve(); }, (err) => { reject(err); }); }); } } LinkedinLoginProvider.PROVIDER_ID = 'linkedin'; if (false) { /** @type {?} */ LinkedinLoginProvider.PROVIDER_ID; /** @type {?} */ LinkedinLoginProvider.prototype.loginProviderObj; /** @type {?} */ LinkedinLoginProvider.prototype.clientId; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkaW4ubG9naW4ucHJvdmlkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1keW5hbWktc29jaWFsLWxvZ2luLyIsInNvdXJjZXMiOlsibGliL2R5bmFtaS1zb2NpYWwtbG9naW4vcHJvdmlkZXJzL2xpbmtlZGluLmxvZ2luLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFNOUQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGlCQUFpQjs7OztJQUsxRCxZQUFvQixRQUFnQjtRQUNsQyxLQUFLLEVBQUUsQ0FBQztRQURVLGFBQVEsR0FBUixRQUFRLENBQVE7UUFGN0IscUJBQWdCLEdBQTRCLElBQUksdUJBQXVCLEVBQUUsQ0FBQztRQUkvRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQztRQUNwQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztRQUN4QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxHQUFHLHFDQUFxQyxDQUFDO0lBQ3BFLENBQUM7Ozs7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLEVBQUU7Z0JBQ3hDLEVBQUUsQ0FBQyxJQUFJLENBQUM7b0JBQ04sT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRO29CQUN0QixTQUFTLEVBQUUsSUFBSTtvQkFDZixNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRTtpQkFDOUIsQ0FBQyxDQUFDO2dCQUVILEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFO29CQUMzQixJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUU7d0JBQzFCLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUNSLCtEQUErRCxDQUNoRSxDQUFDLE1BQU0sQ0FBRSxDQUFDLEdBQTBCLEVBQUUsRUFBRTs0QkFDdkMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzt3QkFDOUIsQ0FBQyxDQUFDLENBQUM7cUJBQ0o7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELGNBQWM7UUFDWixFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRTtZQUNsQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7SUFFRCxRQUFRLENBQUMsUUFBK0I7O1lBQ2xDLElBQUksR0FBb0IsSUFBSSxlQUFlLEVBQUU7UUFDakQsSUFBSSxDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLFNBQVMsR0FBRyxHQUFHLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUN6RCxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3JDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7OztJQUVELE1BQU07UUFDSixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFFLEdBQUcsRUFBRTtnQkFDdEIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsK0RBQStELENBQUMsQ0FBQyxNQUFNLENBQUUsQ0FBQyxHQUEwQixFQUFFLEVBQUU7b0JBQ2pILE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQzlCLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO2dCQUMvQixPQUFPLEVBQUUsQ0FBQztZQUNaLENBQUMsRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNkLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNkLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQW5Fc0IsaUNBQVcsR0FBRyxVQUFVLENBQUM7OztJQUFoRCxrQ0FBZ0Q7O0lBQ2hELGlEQUFpRjs7SUFFckUseUNBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUxvZ2luUHJvdmlkZXIgfSBmcm9tIFwiLi4vbW9kZWxzL2Jhc2UubG9naW4ucHJvdmlkZXJcIjtcclxuaW1wb3J0IHsgTG9naW5Qcm92aWRlckNsYXNzTW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL2xvZ2luLnByb3ZpZGVyLmNsYXNzLm1vZGVsXCI7XHJcbmltcG9ydCB7IFNvY2lhbFVzZXJNb2RlbCB9IGZyb20gXCIuLi9tb2RlbHMvc29jaWFsLnVzZXIubW9kZWxcIjtcclxuaW1wb3J0IHsgTGlua2VkSW5SZXNwb25zZU1vZGVsIH0gZnJvbSBcIi4uL21vZGVscy9saW5rZWRpbi5yZXNwb25zZS5tb2RlbFwiO1xyXG5cclxuXHJcbmRlY2xhcmUgbGV0IElOOiBhbnk7XHJcblxyXG5leHBvcnQgY2xhc3MgTGlua2VkaW5Mb2dpblByb3ZpZGVyIGV4dGVuZHMgQmFzZUxvZ2luUHJvdmlkZXIge1xyXG5cclxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1ZJREVSX0lEID0gJ2xpbmtlZGluJztcclxuICBwdWJsaWMgbG9naW5Qcm92aWRlck9iajogTG9naW5Qcm92aWRlckNsYXNzTW9kZWwgPSBuZXcgTG9naW5Qcm92aWRlckNsYXNzTW9kZWwoKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjbGllbnRJZDogc3RyaW5nKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5sb2dpblByb3ZpZGVyT2JqLmlkID0gY2xpZW50SWQ7XHJcbiAgICB0aGlzLmxvZ2luUHJvdmlkZXJPYmoubmFtZSA9ICdsaW5rZWRpbic7XHJcbiAgICB0aGlzLmxvZ2luUHJvdmlkZXJPYmoudXJsID0gJ2h0dHBzOi8vcGxhdGZvcm0ubGlua2VkaW4uY29tL2luLmpzJztcclxuICB9XHJcblxyXG4gIGluaXRpYWxpemUoKTogUHJvbWlzZTxTb2NpYWxVc2VyTW9kZWw+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIHRoaXMubG9hZFNjcmlwdCh0aGlzLmxvZ2luUHJvdmlkZXJPYmosICgpID0+IHtcclxuICAgICAgICAgIElOLmluaXQoe1xyXG4gICAgICAgICAgICBhcGlfa2V5OiB0aGlzLmNsaWVudElkLFxyXG4gICAgICAgICAgICBhdXRob3JpemU6IHRydWUsXHJcbiAgICAgICAgICAgIG9uTG9hZDogdGhpcy5vbkxpbmtlZEluTG9hZCgpXHJcbiAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICBJTi5FdmVudC5vbihJTiwgJ2F1dGgnLCAoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChJTi5Vc2VyLmlzQXV0aG9yaXplZCgpKSB7XHJcbiAgICAgICAgICAgICAgSU4uQVBJLlJhdyhcclxuICAgICAgICAgICAgICAgICcvcGVvcGxlL346KGlkLGZpcnN0LW5hbWUsbGFzdC1uYW1lLGVtYWlsLWFkZHJlc3MscGljdHVyZS11cmwpJ1xyXG4gICAgICAgICAgICAgICkucmVzdWx0KCAocmVzOiBMaW5rZWRJblJlc3BvbnNlTW9kZWwpID0+IHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUodGhpcy5kcmF3VXNlcihyZXMpKTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkxpbmtlZEluTG9hZCgpIHtcclxuICAgIElOLkV2ZW50Lm9uKElOLCAnc3lzdGVtUmVhZHknLCAoKSA9PiB7XHJcbiAgICAgIElOLlVzZXIucmVmcmVzaCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkcmF3VXNlcihyZXNwb25zZTogTGlua2VkSW5SZXNwb25zZU1vZGVsKTogU29jaWFsVXNlck1vZGVsIHtcclxuICAgIGxldCB1c2VyOiBTb2NpYWxVc2VyTW9kZWwgPSBuZXcgU29jaWFsVXNlck1vZGVsKCk7XHJcbiAgICB1c2VyLmlkID0gcmVzcG9uc2UuZW1haWxBZGRyZXNzO1xyXG4gICAgdXNlci5uYW1lID0gcmVzcG9uc2UuZmlyc3ROYW1lICsgJyAnICsgcmVzcG9uc2UubGFzdE5hbWU7XHJcbiAgICB1c2VyLmVtYWlsID0gcmVzcG9uc2UuZW1haWxBZGRyZXNzO1xyXG4gICAgdXNlci5pbWFnZSA9IHJlc3BvbnNlLnBpY3R1cmVVcmw7XHJcbiAgICB1c2VyLnRva2VuID0gSU4uRU5WLmF1dGgub2F1dGhfdG9rZW47XHJcbiAgICByZXR1cm4gdXNlcjtcclxuICB9XHJcblxyXG4gIHNpZ25JbigpOiBQcm9taXNlPFNvY2lhbFVzZXJNb2RlbD4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgSU4uVXNlci5hdXRob3JpemUoICgpID0+IHtcclxuICAgICAgICBJTi5BUEkuUmF3KCcvcGVvcGxlL346KGlkLGZpcnN0LW5hbWUsbGFzdC1uYW1lLGVtYWlsLWFkZHJlc3MscGljdHVyZS11cmwpJykucmVzdWx0KCAocmVzOiBMaW5rZWRJblJlc3BvbnNlTW9kZWwpID0+IHtcclxuICAgICAgICAgIHJlc29sdmUodGhpcy5kcmF3VXNlcihyZXMpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNpZ25PdXQoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIElOLlVzZXIubG9nb3V0KChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICB9LCAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICByZWplY3QoZXJyKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==