ng-dynami-social-login
Version:
This is social login API for Angular 7.0.3 (Facebook, Google and Linkedin)
108 lines • 9.42 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
*/
import { Injectable } from "@angular/core";
import { BehaviorSubject } from "rxjs";
import { AuthServiceConfig } from "./auth.service.config";
var AuthService = /** @class */ (function () {
function AuthService(config) {
var _this = this;
this._user = null;
this._authState = new BehaviorSubject(null);
this.providers = config.providers;
this.providers.forEach(function (provider, key) {
provider.initialize().then(function (user) {
user.provider = key;
_this._user = user;
_this._authState.next(user);
}).catch(function (err) {
// this._authState.next(null);
});
});
}
Object.defineProperty(AuthService.prototype, "authState", {
get: /**
* @return {?}
*/
function () {
return this._authState.asObservable();
},
enumerable: true,
configurable: true
});
/**
* @param {?} providerId
* @return {?}
*/
AuthService.prototype.signIn = /**
* @param {?} providerId
* @return {?}
*/
function (providerId) {
var _this = this;
return new Promise(function (resolve, reject) {
/** @type {?} */
var providerObject = _this.providers.get(providerId);
if (providerObject) {
providerObject.signIn().then(function (user) {
user.provider = providerId;
resolve(user);
_this._user = user;
_this._authState.next(user);
});
}
else {
reject(AuthService.LOGIN_PROVIDER_NOT_FOUND);
}
});
};
/**
* @return {?}
*/
AuthService.prototype.signOut = /**
* @return {?}
*/
function () {
var _this = this;
return new Promise(function (resolve, reject) {
if (_this._user && _this._user.provider) {
/** @type {?} */
var providerId = _this._user.provider;
/** @type {?} */
var providerObject = _this.providers.get(providerId);
providerObject.signOut().then(function () {
_this._user = null;
_this._authState.next(null);
resolve();
}).catch(function (err) {
_this._authState.next(null);
});
}
else {
reject(AuthService.LOGIN_PROVIDER_NOT_FOUND);
}
});
};
AuthService.LOGIN_PROVIDER_NOT_FOUND = 'Login provider not found';
AuthService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
AuthService.ctorParameters = function () { return [
{ type: AuthServiceConfig }
]; };
return AuthService;
}());
export { AuthService };
if (false) {
/** @type {?} */
AuthService.LOGIN_PROVIDER_NOT_FOUND;
/** @type {?} */
AuthService.prototype.providers;
/** @type {?} */
AuthService.prototype._user;
/** @type {?} */
AuthService.prototype._authState;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZHluYW1pLXNvY2lhbC1sb2dpbi8iLCJzb3VyY2VzIjpbImxpYi9keW5hbWktc29jaWFsLWxvZ2luL3NlcnZpY2VzL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBR25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRzFEO0lBY0UscUJBQVksTUFBeUI7UUFBckMsaUJBV0M7UUFsQk8sVUFBSyxHQUFvQixJQUFJLENBQUM7UUFDOUIsZUFBVSxHQUFxQyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQU8vRSxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDbEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBQyxRQUF1QixFQUFFLEdBQVc7WUFDMUQsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFDLElBQXFCO2dCQUMvQyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztnQkFDcEIsS0FBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7Z0JBQ2xCLEtBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFDLEdBQUc7Z0JBQ1gsOEJBQThCO1lBQ2hDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBZkQsc0JBQUksa0NBQVM7Ozs7UUFBYjtZQUNFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QyxDQUFDOzs7T0FBQTs7Ozs7SUFlRCw0QkFBTTs7OztJQUFOLFVBQU8sVUFBa0I7UUFBekIsaUJBY0M7UUFiQyxPQUFPLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTyxFQUFFLE1BQU07O2dCQUM3QixjQUFjLEdBQUcsS0FBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO1lBQ25ELElBQUksY0FBYyxFQUFFO2dCQUNsQixjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQUMsSUFBcUI7b0JBQ2pELElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO29CQUMzQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ2QsS0FBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7b0JBQ2xCLEtBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM3QixDQUFDLENBQUMsQ0FBQzthQUNKO2lCQUFNO2dCQUNMLE1BQU0sQ0FBQyxXQUFXLENBQUMsd0JBQXdCLENBQUMsQ0FBQzthQUM5QztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELDZCQUFPOzs7SUFBUDtRQUFBLGlCQWdCQztRQWZDLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPLEVBQUUsTUFBTTtZQUNqQyxJQUFJLEtBQUksQ0FBQyxLQUFLLElBQUksS0FBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7O29CQUNqQyxVQUFVLEdBQUcsS0FBSSxDQUFDLEtBQUssQ0FBQyxRQUFROztvQkFDaEMsY0FBYyxHQUFHLEtBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQztnQkFDbkQsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQztvQkFDNUIsS0FBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7b0JBQ2xCLEtBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUMzQixPQUFPLEVBQUUsQ0FBQztnQkFDWixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBQyxHQUFHO29CQUNYLEtBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM3QixDQUFDLENBQUMsQ0FBQzthQUNKO2lCQUFNO2dCQUNMLE1BQU0sQ0FBQyxXQUFXLENBQUMsd0JBQXdCLENBQUMsQ0FBQzthQUM5QztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQXhEdUIsb0NBQXdCLEdBQUcsMEJBQTBCLENBQUM7O2dCQUgvRSxVQUFVOzs7O2dCQUhGLGlCQUFpQjs7SUFnRTFCLGtCQUFDO0NBQUEsQUE3REQsSUE2REM7U0E1RFksV0FBVzs7O0lBRXRCLHFDQUE4RTs7SUFFOUUsZ0NBQThDOztJQUU5Qyw0QkFBc0M7O0lBQ3RDLGlDQUFpRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBMb2dpblByb3ZpZGVyIH0gZnJvbSBcIi4uL21vZGVscy9sb2dpbi5wcm92aWRlclwiO1xyXG5pbXBvcnQgeyBTb2NpYWxVc2VyTW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL3NvY2lhbC51c2VyLm1vZGVsXCI7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlQ29uZmlnIH0gZnJvbSBcIi4vYXV0aC5zZXJ2aWNlLmNvbmZpZ1wiO1xyXG5cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgTE9HSU5fUFJPVklERVJfTk9UX0ZPVU5EID0gJ0xvZ2luIHByb3ZpZGVyIG5vdCBmb3VuZCc7XHJcblxyXG4gIHByaXZhdGUgcHJvdmlkZXJzOiBNYXA8c3RyaW5nLCBMb2dpblByb3ZpZGVyPjtcclxuXHJcbiAgcHJpdmF0ZSBfdXNlcjogU29jaWFsVXNlck1vZGVsID0gbnVsbDtcclxuICBwcml2YXRlIF9hdXRoU3RhdGU6IEJlaGF2aW9yU3ViamVjdDxTb2NpYWxVc2VyTW9kZWw+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcclxuXHJcbiAgZ2V0IGF1dGhTdGF0ZSgpOiBPYnNlcnZhYmxlPFNvY2lhbFVzZXJNb2RlbD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2F1dGhTdGF0ZS5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogQXV0aFNlcnZpY2VDb25maWcpIHtcclxuICAgIHRoaXMucHJvdmlkZXJzID0gY29uZmlnLnByb3ZpZGVycztcclxuICAgIHRoaXMucHJvdmlkZXJzLmZvckVhY2goKHByb3ZpZGVyOiBMb2dpblByb3ZpZGVyLCBrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICBwcm92aWRlci5pbml0aWFsaXplKCkudGhlbigodXNlcjogU29jaWFsVXNlck1vZGVsKSA9PiB7XHJcbiAgICAgICAgdXNlci5wcm92aWRlciA9IGtleTtcclxuICAgICAgICB0aGlzLl91c2VyID0gdXNlcjtcclxuICAgICAgICB0aGlzLl9hdXRoU3RhdGUubmV4dCh1c2VyKTtcclxuICAgICAgfSkuY2F0Y2goKGVycikgPT4ge1xyXG4gICAgICAgIC8vIHRoaXMuX2F1dGhTdGF0ZS5uZXh0KG51bGwpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2lnbkluKHByb3ZpZGVySWQ6IHN0cmluZyk6IFByb21pc2U8U29jaWFsVXNlck1vZGVsPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBsZXQgcHJvdmlkZXJPYmplY3QgPSB0aGlzLnByb3ZpZGVycy5nZXQocHJvdmlkZXJJZCk7XHJcbiAgICAgIGlmIChwcm92aWRlck9iamVjdCkge1xyXG4gICAgICAgIHByb3ZpZGVyT2JqZWN0LnNpZ25JbigpLnRoZW4oKHVzZXI6IFNvY2lhbFVzZXJNb2RlbCkgPT4ge1xyXG4gICAgICAgICAgdXNlci5wcm92aWRlciA9IHByb3ZpZGVySWQ7XHJcbiAgICAgICAgICByZXNvbHZlKHVzZXIpO1xyXG4gICAgICAgICAgdGhpcy5fdXNlciA9IHVzZXI7XHJcbiAgICAgICAgICB0aGlzLl9hdXRoU3RhdGUubmV4dCh1c2VyKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZWplY3QoQXV0aFNlcnZpY2UuTE9HSU5fUFJPVklERVJfTk9UX0ZPVU5EKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzaWduT3V0KCk6IFByb21pc2U8YW55PiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5fdXNlciAmJiB0aGlzLl91c2VyLnByb3ZpZGVyKSB7XHJcbiAgICAgICAgbGV0IHByb3ZpZGVySWQgPSB0aGlzLl91c2VyLnByb3ZpZGVyO1xyXG4gICAgICAgIGxldCBwcm92aWRlck9iamVjdCA9IHRoaXMucHJvdmlkZXJzLmdldChwcm92aWRlcklkKTtcclxuICAgICAgICBwcm92aWRlck9iamVjdC5zaWduT3V0KCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl91c2VyID0gbnVsbDtcclxuICAgICAgICAgIHRoaXMuX2F1dGhTdGF0ZS5uZXh0KG51bGwpO1xyXG4gICAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICAgIH0pLmNhdGNoKChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuX2F1dGhTdGF0ZS5uZXh0KG51bGwpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJlamVjdChBdXRoU2VydmljZS5MT0dJTl9QUk9WSURFUl9OT1RfRk9VTkQpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59Il19