ge-admin-auth.umd.js 48 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917
  1. (function (global, factory) {
  2. typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@nebular/theme'), require('@angular/forms'), require('rxjs/operators'), require('@angular/common/http'), require('jsencrypt'), require('@nebular/auth'), require('@angular/router'), require('@nebular/auth/helpers'), require('@angular/core'), require('rxjs'), require('@ngx-translate/core')) :
  3. typeof define === 'function' && define.amd ? define('ge-admin-auth', ['exports', '@angular/common', '@nebular/theme', '@angular/forms', 'rxjs/operators', '@angular/common/http', 'jsencrypt', '@nebular/auth', '@angular/router', '@nebular/auth/helpers', '@angular/core', 'rxjs', '@ngx-translate/core'], factory) :
  4. (factory((global['ge-admin-auth'] = {}),global.ng.common,global.theme,global.ng.forms,global.rxjs.operators,global.ng.common.http,global.JSEncrypt,global.auth,global.ng.router,global.helpers,global.ng.core,global.rxjs,global.core$1));
  5. }(this, (function (exports,common,theme,forms,operators,http,JSEncrypt,auth,router,helpers,core,rxjs,core$1) { 'use strict';
  6. /**
  7. * @fileoverview added by tsickle
  8. * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  9. */
  10. var zhCn = {
  11. '与第一次输入不符合': '与第一次输入不符合.',
  12. '修改密码': '修改密码',
  13. '密码': '密码',
  14. '密码:': '密码:',
  15. '密码是必填的': '密码是必填的',
  16. '密码规则提示': '密码应该包含 最小长度 {{minLength}} 最大长度 {{maxLength}} 个字符',
  17. '您好,欢迎使用': '您好,欢迎使用',
  18. '成功!': '成功!',
  19. '新密码': '新密码',
  20. '新密码:': '新密码:',
  21. '新密码是必填的!': '新密码是必填的!',
  22. '旧密码:': '旧密码:',
  23. '旧密码是必填的!': '旧密码是必填的',
  24. '登出提示': '正在登出, 请等待...',
  25. '登录': '登录',
  26. '确认密码': '确认密码',
  27. '确认密码:': '确认密码:',
  28. '确认密码是必填的!': '确认密码是必填的!',
  29. '请设置您的新密码': '请设置您的新密码',
  30. '账户': '账户',
  31. '账户:': '账户:',
  32. '账户是必填的': '账户是必填的',
  33. '错误!': '错误!'
  34. };
  35. var ZHCN = /*#__PURE__*/Object.freeze({
  36. default: zhCn
  37. });
  38. /**
  39. * @fileoverview added by tsickle
  40. * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  41. */
  42. var zhHk = {
  43. '与第一次输入不符合': '與第一次輸入不符合.',
  44. '修改密码': '更改密碼',
  45. '密码': '密碼',
  46. '密码:': '密碼:',
  47. '密码是必填的': '必須填寫密碼',
  48. '密码规则提示': '密碼應該包含 最小長度 {{minLength}} 最大長度 {{maxLength}} 個字符',
  49. '您好,欢迎使用': '您好,歡迎使用',
  50. '成功!': '成功!',
  51. '新密码': '新密碼',
  52. '新密码:': '新密碼:',
  53. '新密码是必填的!': '必須填寫新密碼',
  54. '旧密码:': '舊密碼:',
  55. '旧密码是必填的!': '必須填寫舊密碼',
  56. '登出提示': '正在登出, 請稍候⋯',
  57. '登录': '登入',
  58. '确认密码': '確認密碼',
  59. '确认密码:': '確認密碼:',
  60. '确认密码是必填的!': '必須填寫確認密碼',
  61. '请设置您的新密码': '請設置您的新密碼',
  62. '账户': '賬戶',
  63. '账户:': '賬戶:',
  64. '账户是必填的': '必須填寫賬戶',
  65. '错误!': '錯誤!'
  66. };
  67. var ZHHK = /*#__PURE__*/Object.freeze({
  68. default: zhHk
  69. });
  70. /**
  71. * @fileoverview added by tsickle
  72. * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  73. */
  74. /** @type {?} */
  75. var AUTH_DEFAULT_LANG = new core.InjectionToken('AUTH_DEFAULT_LANG');
  76. var LoginLangService = /** @class */ (function () {
  77. function LoginLangService(_translate, lang) {
  78. this._translate = _translate;
  79. this._translate.setTranslation('zh-cn', ZHCN);
  80. this._translate.setTranslation('zh-hk', ZHHK);
  81. this._translate.setDefaultLang(lang ? lang : 'zh-cn');
  82. this._translate.use(lang ? lang : 'zh-cn');
  83. }
  84. /**
  85. * @param {?=} lang
  86. * @return {?}
  87. */
  88. LoginLangService.prototype.setTranslate = /**
  89. * @param {?=} lang
  90. * @return {?}
  91. */
  92. function (lang) {
  93. this._translate.use(lang);
  94. };
  95. LoginLangService.decorators = [
  96. { type: core.Injectable }
  97. ];
  98. /** @nocollapse */
  99. LoginLangService.ctorParameters = function () {
  100. return [
  101. { type: core$1.TranslateService },
  102. { type: String, decorators: [{ type: core.Optional }, { type: core.Inject, args: [AUTH_DEFAULT_LANG,] }] }
  103. ];
  104. };
  105. return LoginLangService;
  106. }());
  107. /**
  108. * @fileoverview added by tsickle
  109. * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  110. */
  111. var LoginComponent = /** @class */ (function () {
  112. function LoginComponent(service, langService, options, cd, router$$1) {
  113. if (options === void 0) {
  114. options = {};
  115. }
  116. this.service = service;
  117. this.langService = langService;
  118. this.options = options;
  119. this.cd = cd;
  120. this.router = router$$1;
  121. this.redirectDelay = 0;
  122. this.showMessages = {};
  123. this.strategy = '';
  124. this.errors = [];
  125. this.messages = [];
  126. this.user = {};
  127. this.submitted = false;
  128. this.socialLinks = [];
  129. this.rememberMe = false;
  130. this.redirectDelay = this.getConfigValue('forms.login.redirectDelay');
  131. this.showMessages = this.getConfigValue('forms.login.showMessages');
  132. this.strategy = this.getConfigValue('forms.login.strategy');
  133. this.socialLinks = this.getConfigValue('forms.login.socialLinks');
  134. this.rememberMe = this.getConfigValue('forms.login.rememberMe');
  135. }
  136. /**
  137. * @return {?}
  138. */
  139. LoginComponent.prototype.login = /**
  140. * @return {?}
  141. */
  142. function () {
  143. var _this = this;
  144. this.errors = [];
  145. this.messages = [];
  146. this.submitted = true;
  147. this.service.authenticate(this.strategy, this.user).subscribe(function (result) {
  148. _this.submitted = false;
  149. if (result.isSuccess()) {
  150. _this.messages = result.getMessages();
  151. }
  152. else {
  153. _this.errors = result.getErrors();
  154. }
  155. /** @type {?} */
  156. var redirect = result.getRedirect();
  157. if (redirect) {
  158. setTimeout(function () {
  159. return _this.router.navigateByUrl(redirect);
  160. }, _this.redirectDelay);
  161. }
  162. _this.cd.detectChanges();
  163. });
  164. };
  165. /**
  166. * @param {?} key
  167. * @return {?}
  168. */
  169. LoginComponent.prototype.getConfigValue = /**
  170. * @param {?} key
  171. * @return {?}
  172. */
  173. function (key) {
  174. return helpers.getDeepFromObject(this.options, key, null);
  175. };
  176. LoginComponent.decorators = [
  177. { type: core.Component, args: [{
  178. selector: 'auth-login',
  179. template: "<h1 id=\"title\" class=\"title\" translate>\u767B\u5F55</h1>\r\n<p class=\"sub-title\" translate>\u60A8\u597D,\u6B22\u8FCE\u4F7F\u7528</p>\r\n\r\n<nb-alert *ngIf=\"showMessages.error && errors?.length && !submitted\" outline=\"danger\" role=\"alert\">\r\n <p class=\"alert-title\"><b translate>\u9519\u8BEF!</b></p>\r\n <ul class=\"alert-message-list\">\r\n <li *ngFor=\"let error of errors\" class=\"alert-message\">{{ error }}</li>\r\n </ul>\r\n</nb-alert>\r\n\r\n<nb-alert\r\n *ngIf=\"showMessages.success && messages?.length && !submitted\"\r\n outline=\"success\"\r\n role=\"alert\"\r\n>\r\n <p class=\"alert-title\"><b translate>\u6210\u529F!</b></p>\r\n <ul class=\"alert-message-list\">\r\n <li *ngFor=\"let message of messages\" class=\"alert-message\">{{ message }}</li>\r\n </ul>\r\n</nb-alert>\r\n\r\n<form (ngSubmit)=\"login()\" #form=\"ngForm\" aria-labelledby=\"title\">\r\n <div class=\"form-control-group\">\r\n <label class=\"label\" for=\"input-email\" translate>\u8D26\u6237:</label>\r\n <input\r\n nbInput\r\n fullWidth\r\n [(ngModel)]=\"user.loginId\"\r\n #loginId=\"ngModel\"\r\n name=\"loginId\"\r\n id=\"input-loginId\"\r\n placeholder=\"{{ '\u8D26\u6237' | translate }}\"\r\n autofocus\r\n [status]=\"loginId.dirty ? (loginId.invalid ? 'danger' : 'success') : ''\"\r\n [required]=\"true\"\r\n [attr.aria-invalid]=\"loginId.invalid && loginId.touched ? true : null\"\r\n />\r\n <ng-container *ngIf=\"loginId.invalid && loginId.touched\">\r\n <p class=\"error-message\" *ngIf=\"loginId.errors?.required\" translate=\"\u8D26\u6237\u662F\u5FC5\u586B\u7684\">\r\n\r\n </p>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"form-control-group\">\r\n <label class=\"label\" for=\"input-password\" translate>\u5BC6\u7801:</label>\r\n <input\r\n nbInput\r\n fullWidth\r\n [(ngModel)]=\"user.loginPassword\"\r\n #password=\"ngModel\"\r\n name=\"password\"\r\n type=\"password\"\r\n id=\"input-password\"\r\n placeholder=\"{{'\u5BC6\u7801'|translate}}\"\r\n [status]=\"password.dirty ? (password.invalid ? 'danger' : 'success') : ''\"\r\n [required]=\"true\"\r\n [minlength]=\"getConfigValue('forms.validation.password.minLength')\"\r\n [maxlength]=\"getConfigValue('forms.validation.password.maxLength')\"\r\n [attr.aria-invalid]=\"password.invalid && password.touched ? true : null\"\r\n />\r\n <ng-container *ngIf=\"password.invalid && password.touched\">\r\n <p class=\"error-message\" *ngIf=\"password.errors?.required\" translate=\"\u5BC6\u7801\u662F\u5FC5\u586B\u7684\">\r\n\r\n </p>\r\n <p class=\"error-message\" *ngIf=\"password.errors?.minlength || password.errors?.maxlength\"\r\n translate=\"\u5BC6\u7801\u89C4\u5219\u63D0\u793A\" [translateParams]=\"{minLength: getConfigValue('forms.validation.password.minLength'), maxLength:getConfigValue('forms.validation.password.maxLength')}\"\r\n >\r\n \u5BC6\u7801\u5E94\u8BE5\u5305\u542B \u6700\u5C0F\u957F\u5EA6 {{ getConfigValue('forms.validation.password.minLength') }} \u6700\u5927\u957F\u5EA6\r\n {{ getConfigValue('forms.validation.password.maxLength') }}\r\n \u4E2A\u5B57\u7B26\r\n </p>\r\n </ng-container>\r\n </div>\r\n\r\n <!--<div class=\"form-control-group accept-group\">-->\r\n <!--<nb-checkbox name=\"rememberMe\" [(ngModel)]=\"user.rememberMe\" *ngIf=\"rememberMe\">\u8BB0\u4F4F\u8D26\u53F7</nb-checkbox>-->\r\n <!--&lt;!&ndash;<a class=\"forgot-password\" routerLink=\"../request-password\">Forgot Password?</a>&ndash;&gt;-->\r\n <!--</div>-->\r\n\r\n <button\r\n nbButton\r\n fullWidth\r\n status=\"success\"\r\n [disabled]=\"submitted || !form.valid\"\r\n [class.btn-pulse]=\"submitted\"\r\n translate=\"\u767B\u5F55\"\r\n >\r\n </button>\r\n</form>\r\n\r\n<!--<section *ngIf=\"socialLinks && socialLinks.length > 0\" class=\"links\" aria-label=\"Social sign in\">-->\r\n<!--or enter with:-->\r\n<!--<div class=\"socials\">-->\r\n<!--<ng-container *ngFor=\"let socialLink of socialLinks\">-->\r\n<!--<a *ngIf=\"socialLink.link\"-->\r\n<!--[routerLink]=\"socialLink.link\"-->\r\n<!--[attr.target]=\"socialLink.target\"-->\r\n<!--[attr.class]=\"socialLink.icon\"-->\r\n<!--[class.with-icon]=\"socialLink.icon\">{{ socialLink.title }}</a>-->\r\n<!--<a *ngIf=\"socialLink.url\"-->\r\n<!--[attr.href]=\"socialLink.url\"-->\r\n<!--[attr.target]=\"socialLink.target\"-->\r\n<!--[attr.class]=\"socialLink.icon\"-->\r\n<!--[class.with-icon]=\"socialLink.icon\">{{ socialLink.title }}</a>-->\r\n<!--</ng-container>-->\r\n<!--</div>-->\r\n<!--</section>-->\r\n\r\n<!--<section class=\"another-action\" aria-label=\"Register\">-->\r\n<!--Don't have an account? <a class=\"text-link\" routerLink=\"../register\">Register</a>-->\r\n<!--</section>-->\r\n",
  180. changeDetection: core.ChangeDetectionStrategy.OnPush
  181. }] }
  182. ];
  183. /** @nocollapse */
  184. LoginComponent.ctorParameters = function () {
  185. return [
  186. { type: auth.NbAuthService },
  187. { type: LoginLangService },
  188. { type: undefined, decorators: [{ type: core.Inject, args: [auth.NB_AUTH_OPTIONS,] }] },
  189. { type: core.ChangeDetectorRef },
  190. { type: router.Router }
  191. ];
  192. };
  193. return LoginComponent;
  194. }());
  195. /*! *****************************************************************************
  196. Copyright (c) Microsoft Corporation. All rights reserved.
  197. Licensed under the Apache License, Version 2.0 (the "License"); you may not use
  198. this file except in compliance with the License. You may obtain a copy of the
  199. License at http://www.apache.org/licenses/LICENSE-2.0
  200. THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  201. KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
  202. WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
  203. MERCHANTABLITY OR NON-INFRINGEMENT.
  204. See the Apache Version 2.0 License for specific language governing permissions
  205. and limitations under the License.
  206. ***************************************************************************** */
  207. /* global Reflect, Promise */
  208. var extendStatics = function (d, b) {
  209. extendStatics = Object.setPrototypeOf ||
  210. ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
  211. function (d, b) { for (var p in b)
  212. if (b.hasOwnProperty(p))
  213. d[p] = b[p]; };
  214. return extendStatics(d, b);
  215. };
  216. function __extends(d, b) {
  217. extendStatics(d, b);
  218. function __() { this.constructor = d; }
  219. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  220. }
  221. /**
  222. * @fileoverview added by tsickle
  223. * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  224. */
  225. var NamePasswordAuthStrategyOptions = /** @class */ (function (_super) {
  226. __extends(NamePasswordAuthStrategyOptions, _super);
  227. function NamePasswordAuthStrategyOptions() {
  228. var _this = _super !== null && _super.apply(this, arguments) || this;
  229. _this.baseEndpoint = '/api/auth/';
  230. _this.getPublicKey = {
  231. endpoint: 'getPublicKey',
  232. method: 'get'
  233. };
  234. _this.login = {
  235. alwaysFail: false,
  236. endpoint: 'login',
  237. method: 'post',
  238. redirect: {
  239. success: '/',
  240. failure: null
  241. },
  242. defaultErrors: ['未知错误!'],
  243. defaultMessages: ['You have been successfully logged in.']
  244. };
  245. _this.createUser = {
  246. endpoint: 'createUser',
  247. method: 'post',
  248. defaultErrors: ['未知错误!']
  249. };
  250. _this.updatePasswordForAdmin = {
  251. endpoint: 'updatePasswordForAdmin',
  252. method: 'patch',
  253. defaultErrors: ['未知错误!']
  254. };
  255. _this.register = {
  256. alwaysFail: false,
  257. endpoint: 'register',
  258. method: 'post',
  259. redirect: {
  260. success: '/',
  261. failure: null
  262. },
  263. defaultErrors: ['Something went wrong, please try again.'],
  264. defaultMessages: ['You have been successfully registered.']
  265. };
  266. _this.requestPass = {
  267. endpoint: 'request-pass',
  268. method: 'post',
  269. redirect: {
  270. success: '/',
  271. failure: null
  272. },
  273. defaultErrors: ['Something went wrong, please try again.'],
  274. defaultMessages: ['Reset password instructions have been sent to your email.']
  275. };
  276. _this.resetPass = {
  277. endpoint: 'updateUserPassword',
  278. method: 'patch',
  279. redirect: {
  280. success: '/',
  281. failure: null
  282. },
  283. defaultErrors: ['未知错误.'],
  284. defaultMessages: ['Your password has been successfully changed.']
  285. };
  286. _this.logout = {
  287. alwaysFail: false,
  288. endpoint: 'logout',
  289. method: 'delete',
  290. redirect: {
  291. success: '/',
  292. failure: null
  293. },
  294. defaultErrors: ['Something went wrong, please try again.'],
  295. defaultMessages: ['You have been successfully logged out.']
  296. };
  297. _this.errors = {
  298. key: 'messager',
  299. getter: function (module, res, options) {
  300. return [
  301. helpers.getDeepFromObject(res.error, options.errors.key, options[module].defaultErrors)
  302. ];
  303. }
  304. };
  305. _this.messages = {
  306. key: 'messager',
  307. getter: function (module, res, options) { return [helpers.getDeepFromObject(res.body, options.messages.key, false)]; }
  308. };
  309. _this.success = {
  310. key: 'success',
  311. getter: function (module, res, options) {
  312. return helpers.getDeepFromObject(res.body, options.success.key, options[module].defaultMessages);
  313. }
  314. };
  315. return _this;
  316. }
  317. return NamePasswordAuthStrategyOptions;
  318. }(auth.NbAuthStrategyOptions));
  319. /** @type {?} */
  320. var namePasswordStrategyOptions = new NamePasswordAuthStrategyOptions();
  321. /**
  322. * @fileoverview added by tsickle
  323. * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  324. */
  325. var ResultError = /** @class */ (function () {
  326. function ResultError(message) {
  327. this.message = message;
  328. }
  329. return ResultError;
  330. }());
  331. var NamePasswordStrategyService = /** @class */ (function (_super) {
  332. __extends(NamePasswordStrategyService, _super);
  333. function NamePasswordStrategyService(http$$1, route) {
  334. var _this = _super.call(this) || this;
  335. _this.http = http$$1;
  336. _this.route = route;
  337. _this.defaultOptions = namePasswordStrategyOptions;
  338. return _this;
  339. }
  340. /**
  341. * @param {?} options
  342. * @return {?}
  343. */
  344. NamePasswordStrategyService.setup = /**
  345. * @param {?} options
  346. * @return {?}
  347. */
  348. function (options) {
  349. return [NamePasswordStrategyService, options];
  350. };
  351. /**
  352. * @param {?=} data
  353. * @return {?}
  354. */
  355. NamePasswordStrategyService.prototype.authenticate = /**
  356. * @param {?=} data
  357. * @return {?}
  358. */
  359. function (data) {
  360. var _this = this;
  361. /** @type {?} */
  362. var module = 'login';
  363. /** @type {?} */
  364. var method = this.getOption(module + ".method");
  365. /** @type {?} */
  366. var url = this.getActionEndpoint(module);
  367. /** @type {?} */
  368. var requireValidToken = this.getOption(module + ".requireValidToken");
  369. return this.getEncryptPassword(data.loginPassword).pipe(operators.map(function (body) {
  370. body.loginID = data.loginId;
  371. return _this.http.request(method, url, { body: body, observe: 'response' })
  372. .pipe(operators.map(function (res) {
  373. if (_this.getOption(module + ".alwaysFail")) {
  374. throw _this.createFailResponse(data);
  375. }
  376. else if (!_this.getOption('success.getter')(module, res, _this.options)) {
  377. throw new ResultError(_this.getOption('messages.getter')(module, res, _this.options));
  378. }
  379. return res;
  380. }), operators.map(function (res) {
  381. return new auth.NbAuthResult(true, res, _this.getOption(module + ".redirect.success"), [], _this.getOption('messages.getter')(module, res, _this.options));
  382. }), operators.catchError(function (res) {
  383. return _this.handleResponseError(res, module);
  384. }));
  385. }), operators.concatAll());
  386. };
  387. /**
  388. * @return {?}
  389. */
  390. NamePasswordStrategyService.prototype.logout = /**
  391. * @return {?}
  392. */
  393. function () {
  394. var _this = this;
  395. /** @type {?} */
  396. var module = 'logout';
  397. /** @type {?} */
  398. var method = this.getOption(module + ".method");
  399. /** @type {?} */
  400. var url = this.getActionEndpoint(module);
  401. return rxjs.of({})
  402. .pipe(operators.switchMap(function (res) {
  403. if (!url) {
  404. return rxjs.of(res);
  405. }
  406. return _this.http.request(method, url, { observe: 'response' });
  407. }), operators.map(function (res) {
  408. if (_this.getOption(module + ".alwaysFail")) {
  409. throw _this.createFailResponse();
  410. }
  411. return res;
  412. }), operators.map(function (res) {
  413. return new auth.NbAuthResult(true, res, _this.getOption(module + ".redirect.success"), [], _this.getOption('messages.getter')(module, res, _this.options));
  414. }), operators.catchError(function (res) {
  415. return _this.handleResponseError(res, module);
  416. }));
  417. };
  418. /**
  419. * @param {?=} data
  420. * @return {?}
  421. */
  422. NamePasswordStrategyService.prototype.refreshToken = /**
  423. * @param {?=} data
  424. * @return {?}
  425. */
  426. function (data) {
  427. return undefined;
  428. };
  429. /**
  430. * @param {?=} data
  431. * @return {?}
  432. */
  433. NamePasswordStrategyService.prototype.register = /**
  434. * @param {?=} data
  435. * @return {?}
  436. */
  437. function (data) {
  438. return undefined;
  439. };
  440. /**
  441. * @param {?=} data
  442. * @return {?}
  443. */
  444. NamePasswordStrategyService.prototype.requestPassword = /**
  445. * @param {?=} data
  446. * @return {?}
  447. */
  448. function (data) {
  449. return undefined;
  450. };
  451. /**
  452. * @param {?=} data
  453. * @return {?}
  454. */
  455. NamePasswordStrategyService.prototype.resetPassword = /**
  456. * @param {?=} data
  457. * @return {?}
  458. */
  459. function (data) {
  460. var _this = this;
  461. /** @type {?} */
  462. var module = 'resetPass';
  463. /** @type {?} */
  464. var method = this.getOption(module + ".method");
  465. /** @type {?} */
  466. var url = this.getActionEndpoint(module);
  467. return this.getEncryptPassword(data.loginPasswordNew + '-' + data.loginPasswordOld).pipe(operators.map(function (body) {
  468. body.passwordData = body.loginPassword;
  469. return _this.http.request(method, url, { body: body, observe: 'response' })
  470. .pipe(operators.map(function (res) {
  471. if (_this.getOption(module + ".alwaysFail")) {
  472. throw _this.createFailResponse(data);
  473. }
  474. else if (!_this.getOption('success.getter')(module, res, _this.options)) {
  475. throw new ResultError(_this.getOption('messages.getter')(module, res, _this.options));
  476. }
  477. return res;
  478. }), operators.map(function (res) {
  479. return new auth.NbAuthResult(true, res, _this.getOption(module + ".redirect.success"), [], _this.getOption('messages.getter')(module, res, _this.options));
  480. }), operators.catchError(function (res) {
  481. return _this.handleResponseError(res, module);
  482. }));
  483. }), operators.concatAll());
  484. };
  485. /**
  486. * @param {?=} data
  487. * @return {?}
  488. */
  489. NamePasswordStrategyService.prototype.createUser = /**
  490. * @param {?=} data
  491. * @return {?}
  492. */
  493. function (data) {
  494. var _this = this;
  495. /** @type {?} */
  496. var module = 'createUser';
  497. /** @type {?} */
  498. var method = this.getOption(module + ".method");
  499. /** @type {?} */
  500. var url = this.getActionEndpoint(module);
  501. return this.getEncryptPassword(data.loginPassword).pipe(operators.map(function (body) {
  502. body.userName = data.userName;
  503. body.loginID = data.loginID;
  504. return _this.http.request(method, url, { body: body, observe: 'response' })
  505. .pipe(operators.map(function (res) {
  506. if (_this.getOption(module + ".alwaysFail")) {
  507. throw _this.createFailResponse(data);
  508. }
  509. else if (!_this.getOption('success.getter')(module, res, _this.options)) {
  510. throw new ResultError(_this.getOption('messages.getter')(module, res, _this.options));
  511. }
  512. return res;
  513. }), operators.map(function (res) {
  514. return new auth.NbAuthResult(true, res, _this.getOption(module + ".redirect.success"), [], _this.getOption('messages.getter')(module, res, _this.options));
  515. }), operators.catchError(function (res) {
  516. return _this.handleResponseError(res, module);
  517. }));
  518. }), operators.concatAll());
  519. };
  520. /**
  521. * @param {?=} data
  522. * @return {?}
  523. */
  524. NamePasswordStrategyService.prototype.updatePasswordForAdmin = /**
  525. * @param {?=} data
  526. * @return {?}
  527. */
  528. function (data) {
  529. var _this = this;
  530. /** @type {?} */
  531. var module = 'updatePasswordForAdmin';
  532. /** @type {?} */
  533. var method = this.getOption(module + ".method");
  534. /** @type {?} */
  535. var url = this.getActionEndpoint(module);
  536. return this.getEncryptPassword(data.loginPassword).pipe(operators.map(function (body) {
  537. body.userID = data.userID;
  538. return _this.http.request(method, url, { body: body, observe: 'response' })
  539. .pipe(operators.map(function (res) {
  540. if (_this.getOption(module + ".alwaysFail")) {
  541. throw _this.createFailResponse(data);
  542. }
  543. else if (!_this.getOption('success.getter')(module, res, _this.options)) {
  544. throw new ResultError(_this.getOption('messages.getter')(module, res, _this.options));
  545. }
  546. return res;
  547. }), operators.map(function (res) {
  548. return new auth.NbAuthResult(true, res, _this.getOption(module + ".redirect.success"), [], _this.getOption('messages.getter')(module, res, _this.options));
  549. }), operators.catchError(function (res) {
  550. return _this.handleResponseError(res, module);
  551. }));
  552. }), operators.concatAll());
  553. };
  554. /**
  555. * @param {?} password
  556. * @return {?}
  557. */
  558. NamePasswordStrategyService.prototype.getEncryptPassword = /**
  559. * @param {?} password
  560. * @return {?}
  561. */
  562. function (password) {
  563. var _this = this;
  564. /** @type {?} */
  565. var module = 'getPublicKey';
  566. /** @type {?} */
  567. var method = this.getOption(module + ".method");
  568. /** @type {?} */
  569. var url = this.getActionEndpoint(module);
  570. return this.http.request(method, url, { observe: 'response' })
  571. .pipe(operators.map(function (res) {
  572. return encryptPassword(res.body, password);
  573. }), operators.catchError(function (res) {
  574. return _this.handleResponseError(res, module);
  575. }));
  576. /**
  577. * @param {?} result
  578. * @param {?} data
  579. * @return {?}
  580. */
  581. function encryptPassword(result, data) {
  582. /** @type {?} */
  583. var now = Date.now();
  584. /** @type {?} */
  585. var encrypt = new JSEncrypt.JSEncrypt();
  586. encrypt.setPublicKey(result.data.publicPEMKey);
  587. /** @type {?} */
  588. var encryptPass = encrypt.encrypt(data + now);
  589. return {
  590. cryptoKeyID: result.data.cryptoKeyID,
  591. utcTimestamp: now,
  592. loginPassword: encryptPass
  593. };
  594. }
  595. };
  596. /**
  597. * @protected
  598. * @param {?} res
  599. * @param {?} module
  600. * @return {?}
  601. */
  602. NamePasswordStrategyService.prototype.handleResponseError = /**
  603. * @protected
  604. * @param {?} res
  605. * @param {?} module
  606. * @return {?}
  607. */
  608. function (res, module) {
  609. /** @type {?} */
  610. var errors = [];
  611. if (res instanceof http.HttpErrorResponse) {
  612. errors = this.getOption('errors.getter')(module, res, this.options);
  613. }
  614. else if (res instanceof auth.NbAuthIllegalTokenError) {
  615. errors.push(res.message);
  616. }
  617. else if (res instanceof ResultError) {
  618. errors = res.message;
  619. }
  620. else {
  621. errors.push('Something went wrong.');
  622. }
  623. return rxjs.of(new auth.NbAuthResult(false, res, this.getOption(module + ".redirect.failure"), errors));
  624. };
  625. NamePasswordStrategyService.decorators = [
  626. { type: core.Injectable }
  627. ];
  628. /** @nocollapse */
  629. NamePasswordStrategyService.ctorParameters = function () {
  630. return [
  631. { type: http.HttpClient },
  632. { type: router.ActivatedRoute }
  633. ];
  634. };
  635. return NamePasswordStrategyService;
  636. }(auth.NbAuthStrategy));
  637. /**
  638. * @fileoverview added by tsickle
  639. * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  640. */
  641. var ResetPasswordComponent = /** @class */ (function () {
  642. function ResetPasswordComponent(service, langService, options, cd, router$$1) {
  643. if (options === void 0) {
  644. options = {};
  645. }
  646. this.service = service;
  647. this.langService = langService;
  648. this.options = options;
  649. this.cd = cd;
  650. this.router = router$$1;
  651. this.redirectDelay = 0;
  652. this.showMessages = {};
  653. this.strategy = '';
  654. this.submitted = false;
  655. this.errors = [];
  656. this.messages = [];
  657. this.user = {};
  658. this.redirectDelay = this.getConfigValue('forms.resetPassword.redirectDelay');
  659. this.showMessages = this.getConfigValue('forms.resetPassword.showMessages');
  660. this.strategy = this.getConfigValue('forms.resetPassword.strategy');
  661. }
  662. /**
  663. * @return {?}
  664. */
  665. ResetPasswordComponent.prototype.resetPass = /**
  666. * @return {?}
  667. */
  668. function () {
  669. var _this = this;
  670. this.errors = this.messages = [];
  671. this.submitted = true;
  672. this.service.resetPassword(this.strategy, this.user).subscribe(function (result) {
  673. _this.submitted = false;
  674. if (result.isSuccess()) {
  675. _this.messages = result.getMessages();
  676. }
  677. else {
  678. _this.errors = result.getErrors();
  679. }
  680. /** @type {?} */
  681. var redirect = result.getRedirect();
  682. if (redirect) {
  683. setTimeout(function () {
  684. return _this.router.navigateByUrl(redirect);
  685. }, _this.redirectDelay);
  686. }
  687. _this.cd.detectChanges();
  688. });
  689. };
  690. /**
  691. * @param {?} key
  692. * @return {?}
  693. */
  694. ResetPasswordComponent.prototype.getConfigValue = /**
  695. * @param {?} key
  696. * @return {?}
  697. */
  698. function (key) {
  699. return helpers.getDeepFromObject(this.options, key, null);
  700. };
  701. ResetPasswordComponent.decorators = [
  702. { type: core.Component, args: [{
  703. selector: 'auth-reset-password-page',
  704. template: "<h1 id=\"title\" class=\"title\" translate>\u4FEE\u6539\u5BC6\u7801</h1>\r\n<p class=\"sub-title\" translate>\u8BF7\u8BBE\u7F6E\u60A8\u7684\u65B0\u5BC6\u7801</p>\r\n\r\n<nb-alert *ngIf=\"showMessages.error && errors?.length && !submitted\" outline=\"danger\" role=\"alert\">\r\n <p class=\"alert-title\"><b translate>\u9519\u8BEF!</b></p>\r\n <ul class=\"alert-message-list\">\r\n <li *ngFor=\"let error of errors\" class=\"alert-message\">{{ error }}</li>\r\n </ul>\r\n</nb-alert>\r\n\r\n<nb-alert *ngIf=\"showMessages.success && messages?.length && !submitted\" outline=\"success\" role=\"alert\">\r\n <p class=\"alert-title\"><b translate>\u6210\u529F!</b></p>\r\n <ul class=\"alert-message-list\">\r\n <li *ngFor=\"let message of messages\" class=\"alert-message\">{{ message }}</li>\r\n </ul>\r\n</nb-alert>\r\n\r\n<form (ngSubmit)=\"resetPass()\" #resetPassForm=\"ngForm\" aria-labelledby=\"title\">\r\n\r\n <div class=\"form-control-group\">\r\n <label class=\"label\" for=\"input-old-password\" translate>\u65E7\u5BC6\u7801:</label>\r\n <input nbInput\r\n [(ngModel)]=\"user.loginPasswordOld\"\r\n #oldPassword=\"ngModel\"\r\n type=\"password\"\r\n id=\"input-old-password\"\r\n name=\"oldPassword\"\r\n class=\"first\"\r\n placeholder=\"{{'\u65B0\u5BC6\u7801'| translate}}\"\r\n autofocus\r\n fullWidth\r\n [status]=\"oldPassword.dirty ? (oldPassword.invalid ? 'danger' : 'success') : ''\"\r\n [required]=\"getConfigValue('forms.validation.password.required')\"\r\n [minlength]=\"getConfigValue('forms.validation.password.minLength')\"\r\n [maxlength]=\"getConfigValue('forms.validation.password.maxLength')\"\r\n [attr.aria-invalid]=\"oldPassword.invalid && oldPassword.touched ? true : null\">\r\n <ng-container *ngIf=\"oldPassword.invalid && oldPassword.touched\">\r\n <p class=\"error-message\" *ngIf=\"oldPassword.errors?.required\" translate=\"\u65E7\u5BC6\u7801\u662F\u5FC5\u586B\u7684!\">\r\n\r\n </p>\r\n <p class=\"error-message\" *ngIf=\"oldPassword.errors?.minlength || oldPassword.errors?.maxlength\"\r\n translate=\"\u5BC6\u7801\u89C4\u5219\u63D0\u793A\" [translateParams]=\"{minLength: getConfigValue('forms.validation.password.minLength'), maxLength:getConfigValue('forms.validation.password.maxLength')}\">\r\n \u5BC6\u7801\u5E94\u8BE5\u5305\u542B\r\n \u6700\u5C0F\u957F\u5EA6 {{ getConfigValue('forms.validation.password.minLength') }}\r\n \u6700\u5927\u957F\u5EA6 {{ getConfigValue('forms.validation.password.maxLength') }}\r\n \u4E2A\u5B57\u7B26\r\n </p>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"form-control-group\">\r\n <label class=\"label\" for=\"input-new-password\" translate>\u65B0\u5BC6\u7801:</label>\r\n <input nbInput\r\n [(ngModel)]=\"user.loginPasswordNew\"\r\n #newPassword=\"ngModel\"\r\n type=\"password\"\r\n id=\"input-new-password\"\r\n name=\"newPassword\"\r\n class=\"first\"\r\n placeholder=\"{{'\u65B0\u5BC6\u7801'| translate}}\"\r\n autofocus\r\n fullWidth\r\n [status]=\"newPassword.dirty ? (newPassword.invalid ? 'danger' : 'success') : ''\"\r\n [required]=\"getConfigValue('forms.validation.password.required')\"\r\n [minlength]=\"getConfigValue('forms.validation.password.minLength')\"\r\n [maxlength]=\"getConfigValue('forms.validation.password.maxLength')\"\r\n [attr.aria-invalid]=\"newPassword.invalid && newPassword.touched ? true : null\">\r\n <ng-container *ngIf=\"newPassword.invalid && newPassword.touched\">\r\n <p class=\"error-message\" *ngIf=\"newPassword.errors?.required\" translate=\"\u65B0\u5BC6\u7801\u662F\u5FC5\u586B\u7684!\">\r\n\r\n </p>\r\n <p class=\"error-message\" *ngIf=\"newPassword.errors?.minlength || newPassword.errors?.maxlength\"\r\n translate=\"\u5BC6\u7801\u89C4\u5219\u63D0\u793A\"\r\n [translateParams]=\"{minLength: getConfigValue('forms.validation.password.minLength'), maxLength:getConfigValue('forms.validation.password.maxLength')}\">\r\n\r\n \u5BC6\u7801\u5E94\u8BE5\u5305\u542B\r\n \u6700\u5C0F\u957F\u5EA6 {{ getConfigValue('forms.validation.password.minLength') }}\r\n \u6700\u5927\u957F\u5EA6 {{ getConfigValue('forms.validation.password.maxLength') }}\r\n \u4E2A\u5B57\u7B26\r\n </p>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"form-group\">\r\n <label class=\"label\" for=\"input-re-password\" translate>\u786E\u8BA4\u5BC6\u7801:</label>\r\n <input nbInput\r\n [(ngModel)]=\"user.confirmPassword\"\r\n #rePass=\"ngModel\"\r\n id=\"input-re-password\"\r\n name=\"rePass\"\r\n type=\"password\"\r\n class=\"last\"\r\n placeholder=\"{{'\u786E\u8BA4\u5BC6\u7801'| translate}}\"\r\n fullWidth\r\n [status]=\"rePass.touched\r\n ? (rePass.invalid || newPassword.value != rePass.value ? 'danger' : 'success')\r\n : ''\"\r\n [required]=\"getConfigValue('forms.validation.password.required')\"\r\n [attr.aria-invalid]=\"rePass.invalid && rePass.touched ? true : null\">\r\n <ng-container *ngIf=\"rePass.touched\">\r\n <p class=\"error-message\" *ngIf=\"rePass.invalid && rePass.errors?.required\" translate=\"\u786E\u8BA4\u5BC6\u7801\u662F\u5FC5\u586B\u7684!\">\r\n\r\n </p>\r\n <p class=\"error-message\" *ngIf=\"newPassword.value != rePass.value && !rePass.errors?.required\" translate=\"\u4E0E\u7B2C\u4E00\u6B21\u8F93\u5165\u4E0D\u7B26\u5408\"></p>\r\n </ng-container>\r\n </div>\r\n\r\n <button nbButton\r\n status=\"success\"\r\n fullWidth\r\n [disabled]=\"submitted || !resetPassForm.valid\"\r\n [class.btn-pulse]=\"submitted\" translate=\"\u4FEE\u6539\u5BC6\u7801\">\r\n </button>\r\n</form>\r\n\r\n<!--<section class=\"sign-in-or-up\" aria-label=\"Sign in or sign up\">-->\r\n <!--<p><a class=\"text-link\" routerLink=\"../login\">Back to Log In</a></p>-->\r\n <!--<p><a class=\"text-link\" routerLink=\"../register\">Register</a></p>-->\r\n<!--</section>-->\r\n",
  705. changeDetection: core.ChangeDetectionStrategy.OnPush,
  706. styles: [":host .form-group:last-of-type{margin-bottom:3rem}"]
  707. }] }
  708. ];
  709. /** @nocollapse */
  710. ResetPasswordComponent.ctorParameters = function () {
  711. return [
  712. { type: auth.NbAuthService },
  713. { type: LoginLangService },
  714. { type: undefined, decorators: [{ type: core.Inject, args: [auth.NB_AUTH_OPTIONS,] }] },
  715. { type: core.ChangeDetectorRef },
  716. { type: router.Router }
  717. ];
  718. };
  719. return ResetPasswordComponent;
  720. }());
  721. /**
  722. * @fileoverview added by tsickle
  723. * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  724. */
  725. var LogoutComponent = /** @class */ (function () {
  726. function LogoutComponent(service, langService, options, router$$1) {
  727. if (options === void 0) {
  728. options = {};
  729. }
  730. this.service = service;
  731. this.langService = langService;
  732. this.options = options;
  733. this.router = router$$1;
  734. this.redirectDelay = 0;
  735. this.strategy = '';
  736. this.redirectDelay = this.getConfigValue('forms.logout.redirectDelay');
  737. this.strategy = this.getConfigValue('forms.logout.strategy');
  738. }
  739. /**
  740. * @return {?}
  741. */
  742. LogoutComponent.prototype.ngOnInit = /**
  743. * @return {?}
  744. */
  745. function () {
  746. this.logout(this.strategy);
  747. };
  748. /**
  749. * @param {?} strategy
  750. * @return {?}
  751. */
  752. LogoutComponent.prototype.logout = /**
  753. * @param {?} strategy
  754. * @return {?}
  755. */
  756. function (strategy) {
  757. var _this = this;
  758. this.service.logout(strategy).subscribe(function (result) {
  759. /** @type {?} */
  760. var redirect = result.getRedirect();
  761. if (redirect) {
  762. setTimeout(function () {
  763. return _this.router.navigateByUrl(redirect);
  764. }, _this.redirectDelay);
  765. }
  766. });
  767. };
  768. /**
  769. * @param {?} key
  770. * @return {?}
  771. */
  772. LogoutComponent.prototype.getConfigValue = /**
  773. * @param {?} key
  774. * @return {?}
  775. */
  776. function (key) {
  777. return helpers.getDeepFromObject(this.options, key, null);
  778. };
  779. LogoutComponent.decorators = [
  780. { type: core.Component, args: [{
  781. selector: 'auth-logout',
  782. template: "<div translate=\"\u767B\u51FA\u63D0\u793A\"></div>\r\n",
  783. styles: ["div{text-align:center}"]
  784. }] }
  785. ];
  786. /** @nocollapse */
  787. LogoutComponent.ctorParameters = function () {
  788. return [
  789. { type: auth.NbAuthService },
  790. { type: LoginLangService },
  791. { type: undefined, decorators: [{ type: core.Inject, args: [auth.NB_AUTH_OPTIONS,] }] },
  792. { type: router.Router }
  793. ];
  794. };
  795. return LogoutComponent;
  796. }());
  797. /**
  798. * @fileoverview added by tsickle
  799. * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  800. */
  801. var LoginStatusService = /** @class */ (function () {
  802. function LoginStatusService() {
  803. this.subject = new rxjs.Subject();
  804. }
  805. /**
  806. * @param {?} status
  807. * @return {?}
  808. */
  809. LoginStatusService.prototype.changeStatus = /**
  810. * @param {?} status
  811. * @return {?}
  812. */
  813. function (status) {
  814. if (this.status !== status) {
  815. this.status = status;
  816. this.subject.next(status);
  817. }
  818. };
  819. LoginStatusService.decorators = [
  820. { type: core.Injectable }
  821. ];
  822. /** @nocollapse */
  823. LoginStatusService.ctorParameters = function () { return []; };
  824. return LoginStatusService;
  825. }());
  826. /** @enum {number} */
  827. var LoginStatus = {
  828. Login: 1,
  829. Logout: 2,
  830. };
  831. LoginStatus[LoginStatus.Login] = 'Login';
  832. LoginStatus[LoginStatus.Logout] = 'Logout';
  833. /**
  834. * @fileoverview added by tsickle
  835. * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  836. */
  837. var GeAdminAuthModule = /** @class */ (function () {
  838. function GeAdminAuthModule() {
  839. }
  840. GeAdminAuthModule.decorators = [
  841. { type: core.NgModule, args: [{
  842. declarations: [
  843. LoginComponent,
  844. ResetPasswordComponent,
  845. LogoutComponent
  846. ],
  847. imports: [
  848. common.CommonModule,
  849. theme.NbLayoutModule,
  850. theme.NbCardModule,
  851. theme.NbCheckboxModule,
  852. theme.NbAlertModule,
  853. theme.NbInputModule,
  854. theme.NbButtonModule,
  855. router.RouterModule,
  856. forms.FormsModule,
  857. core$1.TranslateModule.forRoot(),
  858. auth.NbAuthModule.forRoot()
  859. ],
  860. providers: [
  861. NamePasswordStrategyService,
  862. LoginStatusService,
  863. LoginLangService
  864. ],
  865. exports: [
  866. LoginComponent,
  867. ResetPasswordComponent,
  868. LogoutComponent
  869. ]
  870. },] }
  871. ];
  872. return GeAdminAuthModule;
  873. }());
  874. /**
  875. * @fileoverview added by tsickle
  876. * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  877. */
  878. /**
  879. * @fileoverview added by tsickle
  880. * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  881. */
  882. exports.GeAdminAuthModule = GeAdminAuthModule;
  883. exports.LoginStatusService = LoginStatusService;
  884. exports.LoginStatus = LoginStatus;
  885. exports.LoginComponent = LoginComponent;
  886. exports.LogoutComponent = LogoutComponent;
  887. exports.ResetPasswordComponent = ResetPasswordComponent;
  888. exports.ResultError = ResultError;
  889. exports.NamePasswordStrategyService = NamePasswordStrategyService;
  890. exports.NamePasswordAuthStrategyOptions = NamePasswordAuthStrategyOptions;
  891. exports.namePasswordStrategyOptions = namePasswordStrategyOptions;
  892. exports.AUTH_DEFAULT_LANG = AUTH_DEFAULT_LANG;
  893. exports.LoginLangService = LoginLangService;
  894. Object.defineProperty(exports, '__esModule', { value: true });
  895. })));
  896. //# sourceMappingURL=ge-admin-auth.umd.js.map