UNPKG

ngx-social-button

Version:

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

126 lines (125 loc) 12.2 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { SocialUser, LoginProviderClass } from '../entities/user'; import { BaseLoginProviderImpl } from '../entities/baseLoginProviderImpl'; export class LinkedinLoginProvider extends BaseLoginProviderImpl { /** * @param {?} clientId */ constructor(clientId) { super(); this.clientId = clientId; this.loginProviderObj = new LoginProviderClass(); this.TYPE = 'linkedin'; 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 {?} */ const user = new SocialUser(); user.id = response.id; user.name = response.firstName + ' ' + response.lastName; user.email = response.emailAddress; user.image = response.pictureUrl; user.accessToken = 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) => { console.log('linkedin', res); resolve(this.drawUser(res)); }); }); }); } /** * @return {?} */ signOut() { return new Promise((resolve, reject) => { IN.User.logout((response) => { resolve(); }, (err) => { reject(err); }); }); } /** * @param {?=} share * @return {?} */ sharing(share) { return new Promise((resolve, reject) => { /** @type {?} */ const payload = { 'comment': share ? share.comment : '', 'visibility': { 'code': 'anyone' } }; IN.API.Raw('/people/~/shares?format=json') .method('POST') .body(JSON.stringify(payload)) .result(data => { console.log('linkedin share', data); resolve(); }) .error(onError => { console.log('linkedin', onError); }); }); } } LinkedinLoginProvider.PROVIDER_TYPE = 'linkedin'; if (false) { /** @type {?} */ LinkedinLoginProvider.PROVIDER_TYPE; /** @type {?} */ LinkedinLoginProvider.prototype.loginProviderObj; /** @type {?} */ LinkedinLoginProvider.prototype.TYPE; /** @type {?} */ LinkedinLoginProvider.prototype.clientId; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkaW5Qcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1zb2NpYWwtYnV0dG9uLyIsInNvdXJjZXMiOlsibGliL3Byb3ZpZGVycy9saW5rZWRpblByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLGtCQUFrQixFQUFtQixNQUFNLGtCQUFrQixDQUFDO0FBQ2xGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBSXhFLE1BQU0sNEJBQTZCLFNBQVEscUJBQXFCOzs7O0lBTTVELFlBQW9CLFFBQWdCO1FBQ2hDLEtBQUssRUFBRSxDQUFDO1FBRFEsYUFBUSxHQUFSLFFBQVEsQ0FBUTtnQ0FIVSxJQUFJLGtCQUFrQixFQUFFO29CQUMvRCxVQUFVO1FBSWIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUM7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksR0FBRyxVQUFVLENBQUM7UUFDeEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsR0FBRyxxQ0FBcUMsQ0FBQztLQUNyRTs7OztJQUVELFVBQVU7UUFDTixNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO2dCQUN4QyxFQUFFLENBQUMsSUFBSSxDQUFDO29CQUNKLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUTtvQkFDdEIsU0FBUyxFQUFFLElBQUk7b0JBQ2YsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUU7aUJBQ2hDLENBQUMsQ0FBQztnQkFFSCxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRTtvQkFDekIsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFD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QWdCLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3BDLE9BQU8sRUFBRSxDQUFDO2FBQ2IsQ0FBQztpQkFDRCxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ2IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDcEMsQ0FBQyxDQUFDO1NBQ1YsQ0FBQyxDQUFDO0tBQ047O3NDQTVGc0MsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U29jaWFsVXNlciwgTG9naW5Qcm92aWRlckNsYXNzLCBMaW5rZWRJblJlc3BvbnNlfSBmcm9tICcuLi9lbnRpdGllcy91c2VyJztcbmltcG9ydCB7QmFzZUxvZ2luUHJvdmlkZXJJbXBsfSBmcm9tICcuLi9lbnRpdGllcy9iYXNlTG9naW5Qcm92aWRlckltcGwnO1xuXG5kZWNsYXJlIGxldCBJTjogYW55O1xuXG5leHBvcnQgY2xhc3MgTGlua2VkaW5Mb2dpblByb3ZpZGVyIGV4dGVuZHMgQmFzZUxvZ2luUHJvdmlkZXJJbXBsIHtcblxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPVklERVJfVFlQRSA9ICdsaW5rZWRpbic7XG4gICAgcHVibGljIGxvZ2luUHJvdmlkZXJPYmo6IExvZ2luUHJvdmlkZXJDbGFzcyA9IG5ldyBMb2dpblByb3ZpZGVyQ2xhc3MoKTtcbiAgICBUWVBFID0gJ2xpbmtlZGluJztcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2xpZW50SWQ6IHN0cmluZykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmxvZ2luUHJvdmlkZXJPYmouaWQgPSBjbGllbnRJZDtcbiAgICAgICAgdGhpcy5sb2dpblByb3ZpZGVyT2JqLm5hbWUgPSAnbGlua2VkaW4nO1xuICAgICAgICB0aGlzLmxvZ2luUHJvdmlkZXJPYmoudXJsID0gJ2h0dHBzOi8vcGxhdGZvcm0ubGlua2VkaW4uY29tL2luLmpzJztcbiAgICB9XG5cbiAgICBpbml0aWFsaXplKCk6IFByb21pc2U8U29jaWFsVXNlcj4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2FkU2NyaXB0KHRoaXMubG9naW5Qcm92aWRlck9iaiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIElOLmluaXQoe1xuICAgICAgICAgICAgICAgICAgICBhcGlfa2V5OiB0aGlzLmNsaWVudElkLFxuICAgICAgICAgICAgICAgICAgICBhdXRob3JpemU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIG9uTG9hZDogdGhpcy5vbkxpbmtlZEluTG9hZCgpXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBJTi5FdmVudC5vbihJTiwgJ2F1dGgnLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChJTi5Vc2VyLmlzQXV0aG9yaXplZCgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBJTi5BUEkuUmF3KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICcvcGVvcGxlL346KGlkLGZpcnN0LW5hbWUsbGFzdC1uYW1lLGVtYWlsLWFkZHJlc3MscGljdHVyZS11cmwpJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKS5yZXN1bHQoKHJlczogTGlua2VkSW5SZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUodGhpcy5kcmF3VXNlcihyZXMpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkxpbmtlZEluTG9hZCgpIHtcbiAgICAgICAgSU4uRXZlbnQub24oSU4sICdzeXN0ZW1SZWFkeScsICgpID0+IHtcbiAgICAgICAgICAgIElOLlVzZXIucmVmcmVzaCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBkcmF3VXNlcihyZXNwb25zZTogTGlua2VkSW5SZXNwb25zZSk6IFNvY2lhbFVzZXIge1xuXG4gICAgICAgIGNvbnN0IHVzZXI6IFNvY2lhbFVzZXIgPSBuZXcgU29jaWFsVXNlcigpO1xuICAgICAgICB1c2VyLmlkID0gcmVzcG9uc2UuaWQ7XG4gICAgICAgIHVzZXIubmFtZSA9IHJlc3BvbnNlLmZpcnN0TmFtZSArICcgJyArIHJlc3BvbnNlLmxhc3ROYW1lO1xuICAgICAgICB1c2VyLmVtYWlsID0gcmVzcG9uc2UuZW1haWxBZGRyZXNzO1xuICAgICAgICB1c2VyLmltYWdlID0gcmVzcG9uc2UucGljdHVyZVVybDtcbiAgICAgICAgdXNlci5hY2Nlc3NUb2tlbiA9IElOLkVOVi5hdXRoLm9hdXRoX3Rva2VuO1xuICAgICAgICByZXR1cm4gdXNlcjtcbiAgICB9XG5cbiAgICBzaWduSW4oKTogUHJvbWlzZTxTb2NpYWxVc2VyPiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBJTi5Vc2VyLmF1dGhvcml6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgSU4uQVBJLlJhdygnL3Blb3BsZS9+OihpZCxmaXJzdC1uYW1lLGxhc3QtbmFtZSxlbWFpbC1hZGRyZXNzLHBpY3R1cmUtdXJsKScpLnJlc3VsdCgocmVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdsaW5rZWRpbicsIHJlcyk7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUodGhpcy5kcmF3VXNlcihyZXMpKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzaWduT3V0KCk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBJTi5Vc2VyLmxvZ291dCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIH0sIChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuXG4gICAgc2hhcmluZyhzaGFyZT86IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgICAgICAgICAgICdjb21tZW50Jzogc2hhcmUgPyBzaGFyZS5jb21tZW50IDogJycsXG4gICAgICAgICAgICAgICAgJ3Zpc2liaWxpdHknOiB7XG4gICAgICAgICAgICAgICAgICAgICdjb2RlJzogJ2FueW9uZSdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgSU4uQVBJLlJhdygnL3Blb3BsZS9+L3NoYXJlcz9mb3JtYXQ9anNvbicpXG4gICAgICAgICAgICAgICAgLm1ldGhvZCgnUE9TVCcpXG4gICAgICAgICAgICAgICAgLmJvZHkoSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpXG4gICAgICAgICAgICAgICAgLnJlc3VsdChkYXRhID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2xpbmtlZGluIHNoYXJlJywgZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5lcnJvcihvbkVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2xpbmtlZGluJywgb25FcnJvcik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxufVxuIl19