UNPKG

@arc-publishing/sdk-identity

Version:
61 lines 3.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.customButtonFacebookSignOn = exports.facebookSignOn = void 0; var tslib_1 = require("tslib"); var identity_1 = tslib_1.__importDefault(require("./identity")); var socialSignOn_1 = require("./socialSignOn"); var getFacebookLoginStatus_1 = tslib_1.__importDefault(require("./getFacebookLoginStatus")); var socialSignOnTypes_1 = require("./socialSignOnTypes"); function facebookSignOn() { return tslib_1.__awaiter(this, void 0, void 0, function () { var facebookLoginStatus; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: return [4, (0, getFacebookLoginStatus_1.default)(true)]; case 1: facebookLoginStatus = _a.sent(); if (!(0, socialSignOnTypes_1.isFacebookLoginResponse)(facebookLoginStatus)) return [3, 5]; if (!(facebookLoginStatus.status === 'connected')) return [3, 3]; return [4, (0, socialSignOn_1.socialLogin)('facebook', { credentials: facebookLoginStatus.authResponse.accessToken })]; case 2: return [2, _a.sent()]; case 3: if (identity_1.default._useCustomFBButton) { return [2, customButtonFacebookSignOn()]; } else { throw new Error("User canceled login, did not fully authorize, or is not logged in to Facebook: ".concat(facebookLoginStatus)); } _a.label = 4; case 4: return [3, 6]; case 5: throw new Error("Error getting login status. Please try again. ".concat(facebookLoginStatus)); case 6: return [2]; } }); }); } exports.facebookSignOn = facebookSignOn; function customButtonFacebookSignOn() { return tslib_1.__awaiter(this, void 0, void 0, function () { var _this = this; return tslib_1.__generator(this, function (_a) { return [2, window.FB.login(function (response) { return tslib_1.__awaiter(_this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: if (!(response.status === 'connected')) return [3, 2]; return [4, (0, socialSignOn_1.socialLogin)('facebook', { credentials: response.authResponse.accessToken })]; case 1: return [2, _a.sent()]; case 2: throw new Error("User canceled login, did not fully authorize, or is not logged in to Facebook: ".concat(response)); } }); }); })]; }); }); } exports.customButtonFacebookSignOn = customButtonFacebookSignOn; exports.default = facebookSignOn; //# sourceMappingURL=facebookSignOn.js.map