UNPKG

ng-dynami-social-login

Version:

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

112 lines 10.9 kB
/** * @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 FacebookLoginProvider = /** @class */ (function (_super) { tslib_1.__extends(FacebookLoginProvider, _super); function FacebookLoginProvider(clientId) { var _this = _super.call(this) || this; _this.clientId = clientId; _this.loginProviderObj = new LoginProviderClassModel(); _this.loginProviderObj.id = clientId; _this.loginProviderObj.name = 'facebook'; _this.loginProviderObj.url = 'https://connect.facebook.net/en_US/sdk.js'; return _this; } /** * @return {?} */ FacebookLoginProvider.prototype.initialize = /** * @return {?} */ function () { var _this = this; return new Promise(function (resolve, reject) { _this.loadScript(_this.loginProviderObj, function () { FB.init({ appId: _this.clientId, autoLogAppEvents: true, cookie: true, xfbml: true, version: 'v2.10' }); FB.AppEvents.logPageView(); FB.getLoginStatus(function (response) { if (response.status === 'connected') { /** @type {?} */ var accessToken_1 = FB.getAuthResponse()['accessToken']; FB.api('/me?fields=name,email,picture', function (res) { resolve(FacebookLoginProvider.drawUser(Object.assign({}, { token: accessToken_1 }, res))); }); } }); }); }); }; /** * @param {?} response * @return {?} */ FacebookLoginProvider.drawUser = /** * @param {?} response * @return {?} */ function (response) { /** @type {?} */ var user = new SocialUserModel(); user.id = response.id; user.name = response.name; user.email = response.email; user.token = response.token; user.image = 'https://graph.facebook.com/' + response.id + '/picture?type=normal'; return user; }; /** * @return {?} */ FacebookLoginProvider.prototype.signIn = /** * @return {?} */ function () { return new Promise(function (resolve, reject) { FB.login(function (response) { if (response.authResponse) { /** @type {?} */ var accessToken_2 = FB.getAuthResponse()['accessToken']; FB.api('/me?fields=name,email,picture', function (res) { resolve(FacebookLoginProvider.drawUser(Object.assign({}, { token: accessToken_2 }, res))); }); } }, { scope: 'email,public_profile' }); }); }; /** * @return {?} */ FacebookLoginProvider.prototype.signOut = /** * @return {?} */ function () { return new Promise(function (resolve, reject) { FB.logout(function (response) { resolve(); }); }); }; FacebookLoginProvider.PROVIDER_ID = 'facebook'; return FacebookLoginProvider; }(BaseLoginProvider)); export { FacebookLoginProvider }; if (false) { /** @type {?} */ FacebookLoginProvider.PROVIDER_ID; /** @type {?} */ FacebookLoginProvider.prototype.loginProviderObj; /** @type {?} */ FacebookLoginProvider.prototype.clientId; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZWJvb2subG9naW4ucHJvdmlkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1keW5hbWktc29jaWFsLWxvZ2luLyIsInNvdXJjZXMiOlsibGliL2R5bmFtaS1zb2NpYWwtbG9naW4vcHJvdmlkZXJzL2ZhY2Vib29rLmxvZ2luLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBSzlEO0lBQTJDLGlEQUFpQjtJQUsxRCwrQkFBb0IsUUFBZ0I7UUFBcEMsWUFDRSxpQkFBTyxTQUlSO1FBTG1CLGNBQVEsR0FBUixRQUFRLENBQVE7UUFGN0Isc0JBQWdCLEdBQTRCLElBQUksdUJBQXVCLEVBQUUsQ0FBQztRQUkvRSxLQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQztRQUNwQyxLQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztRQUN4QyxLQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxHQUFHLDJDQUEyQyxDQUFDOztJQUMxRSxDQUFDOzs7O0lBRUQsMENBQVU7OztJQUFWO1FBQUEsaUJBc0JDO1FBckJDLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPLEVBQUUsTUFBTTtZQUNqQyxLQUFJLENBQUMsVUFBVSxDQUFDLEtBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDbkMsRUFBRSxDQUFDLElBQUksQ0FBQztvQkFDTixLQUFLLEVBQUUsS0FBSSxDQUFDLFFBQVE7b0JBQ3BCLGdCQUFnQixFQUFFLElBQUk7b0JBQ3RCLE1BQU0sRUFBRSxJQUFJO29CQUNaLEtBQUssRUFBRSxJQUFJO29CQUNYLE9BQU8sRUFBRSxPQUFPO2lCQUNqQixDQUFDLENBQUM7Z0JBQ0gsRUFBRSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFFM0IsRUFBRSxDQUFDLGNBQWMsQ0FBQyxVQUFVLFFBQWE7b0JBQ3ZDLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxXQUFXLEVBQUU7OzRCQUM3QixhQUFXLEdBQUcsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDLGFBQWEsQ0FBQzt3QkFDdkQsRUFBRSxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsRUFBRSxVQUFDLEdBQVE7NEJBQy9DLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBQyxLQUFLLEVBQUUsYUFBVyxFQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUN4RixDQUFDLENBQUMsQ0FBQztxQkFDSjtnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7OztJQUVNLDhCQUFROzs7O0lBQWYsVUFBZ0IsUUFBYTs7WUFDdkIsSUFBSSxHQUFvQixJQUFJLGVBQWUsRUFBRTtRQUNqRCxJQUFJLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyw2QkFBNkIsR0FBRyxRQUFRLENBQUMsRUFBRSxHQUFHLHNCQUFzQixDQUFDO1FBQ2xGLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7OztJQUVELHNDQUFNOzs7SUFBTjtRQUNFLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPLEVBQUUsTUFBTTtZQUNqQyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQUMsUUFBYTtnQkFDckIsSUFBSSxRQUFRLENBQUMsWUFBWSxFQUFFOzt3QkFDbkIsYUFBVyxHQUFHLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxhQUFhLENBQUM7b0JBQ3ZELEVBQUUsQ0FBQyxHQUFHLENBQUMsK0JBQStCLEVBQUUsVUFBQyxHQUFRO3dCQUMvQyxPQUFPLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUMsS0FBSyxFQUFFLGFBQVcsRUFBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDeEYsQ0FBQyxDQUFDLENBQUM7aUJBQ0o7WUFDSCxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELHVDQUFPOzs7SUFBUDtRQUNFLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPLEVBQUUsTUFBTTtZQUNqQyxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQUMsUUFBYTtnQkFDdEIsT0FBTyxFQUFFLENBQUM7WUFDWixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQS9Ec0IsaUNBQVcsR0FBRyxVQUFVLENBQUM7SUFpRWxELDRCQUFDO0NBQUEsQUFuRUQsQ0FBMkMsaUJBQWlCLEdBbUUzRDtTQW5FWSxxQkFBcUI7OztJQUVoQyxrQ0FBZ0Q7O0lBQ2hELGlEQUFpRjs7SUFFckUseUNBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUxvZ2luUHJvdmlkZXIgfSBmcm9tIFwiLi4vbW9kZWxzL2Jhc2UubG9naW4ucHJvdmlkZXJcIjtcclxuaW1wb3J0IHsgTG9naW5Qcm92aWRlckNsYXNzTW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL2xvZ2luLnByb3ZpZGVyLmNsYXNzLm1vZGVsXCI7XHJcbmltcG9ydCB7IFNvY2lhbFVzZXJNb2RlbCB9IGZyb20gXCIuLi9tb2RlbHMvc29jaWFsLnVzZXIubW9kZWxcIjtcclxuXHJcblxyXG5kZWNsYXJlIGxldCBGQjogYW55O1xyXG5cclxuZXhwb3J0IGNsYXNzIEZhY2Vib29rTG9naW5Qcm92aWRlciBleHRlbmRzIEJhc2VMb2dpblByb3ZpZGVyIHtcclxuXHJcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9WSURFUl9JRCA9ICdmYWNlYm9vayc7XHJcbiAgcHVibGljIGxvZ2luUHJvdmlkZXJPYmo6IExvZ2luUHJvdmlkZXJDbGFzc01vZGVsID0gbmV3IExvZ2luUHJvdmlkZXJDbGFzc01vZGVsKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2xpZW50SWQ6IHN0cmluZykge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMubG9naW5Qcm92aWRlck9iai5pZCA9IGNsaWVudElkO1xyXG4gICAgdGhpcy5sb2dpblByb3ZpZGVyT2JqLm5hbWUgPSAnZmFjZWJvb2snO1xyXG4gICAgdGhpcy5sb2dpblByb3ZpZGVyT2JqLnVybCA9ICdodHRwczovL2Nvbm5lY3QuZmFjZWJvb2submV0L2VuX1VTL3Nkay5qcyc7XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplKCk6IFByb21pc2U8U29jaWFsVXNlck1vZGVsPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICB0aGlzLmxvYWRTY3JpcHQodGhpcy5sb2dpblByb3ZpZGVyT2JqLCAoKSA9PiB7XHJcbiAgICAgICAgICBGQi5pbml0KHtcclxuICAgICAgICAgICAgYXBwSWQ6IHRoaXMuY2xpZW50SWQsXHJcbiAgICAgICAgICAgIGF1dG9Mb2dBcHBFdmVudHM6IHRydWUsXHJcbiAgICAgICAgICAgIGNvb2tpZTogdHJ1ZSxcclxuICAgICAgICAgICAgeGZibWw6IHRydWUsXHJcbiAgICAgICAgICAgIHZlcnNpb246ICd2Mi4xMCdcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgRkIuQXBwRXZlbnRzLmxvZ1BhZ2VWaWV3KCk7XHJcblxyXG4gICAgICAgICAgRkIuZ2V0TG9naW5TdGF0dXMoZnVuY3Rpb24gKHJlc3BvbnNlOiBhbnkpIHtcclxuICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gJ2Nvbm5lY3RlZCcpIHtcclxuICAgICAgICAgICAgICBjb25zdCBhY2Nlc3NUb2tlbiA9IEZCLmdldEF1dGhSZXNwb25zZSgpWydhY2Nlc3NUb2tlbiddO1xyXG4gICAgICAgICAgICAgIEZCLmFwaSgnL21lP2ZpZWxkcz1uYW1lLGVtYWlsLHBpY3R1cmUnLCAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUoRmFjZWJvb2tMb2dpblByb3ZpZGVyLmRyYXdVc2VyKE9iamVjdC5hc3NpZ24oe30sIHt0b2tlbjogYWNjZXNzVG9rZW59LCByZXMpKSk7XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZHJhd1VzZXIocmVzcG9uc2U6IGFueSk6IFNvY2lhbFVzZXJNb2RlbCB7XHJcbiAgICBsZXQgdXNlcjogU29jaWFsVXNlck1vZGVsID0gbmV3IFNvY2lhbFVzZXJNb2RlbCgpO1xyXG4gICAgdXNlci5pZCA9IHJlc3BvbnNlLmlkO1xyXG4gICAgdXNlci5uYW1lID0gcmVzcG9uc2UubmFtZTtcclxuICAgIHVzZXIuZW1haWwgPSByZXNwb25zZS5lbWFpbDtcclxuICAgIHVzZXIudG9rZW4gPSByZXNwb25zZS50b2tlbjtcclxuICAgIHVzZXIuaW1hZ2UgPSAnaHR0cHM6Ly9ncmFwaC5mYWNlYm9vay5jb20vJyArIHJlc3BvbnNlLmlkICsgJy9waWN0dXJlP3R5cGU9bm9ybWFsJztcclxuICAgIHJldHVybiB1c2VyO1xyXG4gIH1cclxuXHJcbiAgc2lnbkluKCk6IFByb21pc2U8U29jaWFsVXNlck1vZGVsPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBGQi5sb2dpbigocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXNwb25zZS5hdXRoUmVzcG9uc2UpIHtcclxuICAgICAgICAgIGNvbnN0IGFjY2Vzc1Rva2VuID0gRkIuZ2V0QXV0aFJlc3BvbnNlKClbJ2FjY2Vzc1Rva2VuJ107XHJcbiAgICAgICAgICBGQi5hcGkoJy9tZT9maWVsZHM9bmFtZSxlbWFpbCxwaWN0dXJlJywgKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHJlc29sdmUoRmFjZWJvb2tMb2dpblByb3ZpZGVyLmRyYXdVc2VyKE9iamVjdC5hc3NpZ24oe30sIHt0b2tlbjogYWNjZXNzVG9rZW59LCByZXMpKSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIHsgc2NvcGU6ICdlbWFpbCxwdWJsaWNfcHJvZmlsZScgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNpZ25PdXQoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIEZCLmxvZ291dCgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==