@arc-publishing/sdk-identity
Version:
JS Identity SDK for working with Identity API
61 lines • 3.15 kB
JavaScript
;
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