@dangl/angular-dangl-identity-client 4.0.0 → 4.0.1-beta0004

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/api-client.d.ts +3 -0
  2. package/dangl-angular-dangl-identity-client.d.ts +1 -0
  3. package/dangl-identity.module.d.ts +5 -0
  4. package/esm2020/api-client.mjs +482 -0
  5. package/{esm2015/dangl-angular-dangl-identity-client.js → esm2020/dangl-angular-dangl-identity-client.mjs} +0 -0
  6. package/esm2020/dangl-identity.module.mjs +21 -0
  7. package/{esm2015/interceptors/dangl-identity-request-validator.js → esm2020/interceptors/dangl-identity-request-validator.mjs} +0 -0
  8. package/esm2020/interceptors/jwt-interceptor.service.mjs +47 -0
  9. package/esm2020/messengers/authentication.messenger.mjs +83 -0
  10. package/{esm2015/models/jwt-storage.js → esm2020/models/jwt-storage.mjs} +0 -0
  11. package/{esm2015/models/user-info.js → esm2020/models/user-info.mjs} +0 -0
  12. package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
  13. package/esm2020/services/authentication.service.mjs +41 -0
  14. package/esm2020/services/jwt-token.service.mjs +95 -0
  15. package/fesm2015/dangl-angular-dangl-identity-client.mjs +754 -0
  16. package/fesm2015/dangl-angular-dangl-identity-client.mjs.map +1 -0
  17. package/{fesm2015/dangl-angular-dangl-identity-client.js → fesm2020/dangl-angular-dangl-identity-client.mjs} +66 -55
  18. package/fesm2020/dangl-angular-dangl-identity-client.mjs.map +1 -0
  19. package/interceptors/jwt-interceptor.service.d.ts +3 -0
  20. package/messengers/authentication.messenger.d.ts +3 -0
  21. package/package.json +21 -9
  22. package/services/authentication.service.d.ts +3 -0
  23. package/services/jwt-token.service.d.ts +3 -0
  24. package/bundles/dangl-angular-dangl-identity-client.umd.js +0 -1179
  25. package/bundles/dangl-angular-dangl-identity-client.umd.js.map +0 -1
  26. package/dangl-angular-dangl-identity-client.metadata.json +0 -1
  27. package/esm2015/api-client.js +0 -476
  28. package/esm2015/dangl-identity.module.js +0 -14
  29. package/esm2015/interceptors/jwt-interceptor.service.js +0 -43
  30. package/esm2015/messengers/authentication.messenger.js +0 -85
  31. package/esm2015/services/authentication.service.js +0 -45
  32. package/esm2015/services/jwt-token.service.js +0 -97
  33. package/fesm2015/dangl-angular-dangl-identity-client.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dangl-angular-dangl-identity-client.mjs","sources":["../../../projects/angular-dangl-identity-client/src/api-client.ts","../../../projects/angular-dangl-identity-client/src/services/jwt-token.service.ts","../../../projects/angular-dangl-identity-client/src/interceptors/jwt-interceptor.service.ts","../../../projects/angular-dangl-identity-client/src/dangl-identity.module.ts","../../../projects/angular-dangl-identity-client/src/services/authentication.service.ts","../../../projects/angular-dangl-identity-client/src/messengers/authentication.messenger.ts","../../../projects/angular-dangl-identity-client/src/public_api.ts","../../../projects/angular-dangl-identity-client/src/dangl-angular-dangl-identity-client.ts"],"sourcesContent":["//----------------------\r\n// <auto-generated>\r\n// Generated using the NSwag toolchain v13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org)\r\n// </auto-generated>\r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators';\r\nimport { Observable, throwError as _observableThrow, of as _observableOf } from 'rxjs';\r\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\n\r\nexport const DANGL_IDENTITY_CLIENT_API_BASE_URL = new InjectionToken<string>('DANGL_IDENTITY_CLIENT_API_BASE_URL');\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DanglIdentityClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(DANGL_IDENTITY_CLIENT_API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n loginWithCookie(model: LoginPost, redirectUrl: string | null | undefined): Observable<void> {\r\n let url_ = this.baseUrl + \"/identity/login?\";\r\n if (redirectUrl !== undefined && redirectUrl !== null)\r\n url_ += \"redirectUrl=\" + encodeURIComponent(\"\" + redirectUrl) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processLoginWithCookie(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processLoginWithCookie(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processLoginWithCookie(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf<void>(null as any);\r\n }));\r\n } else if (status === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf<void>(null as any);\r\n }\r\n\r\n signOutWithSignInManager(): Observable<void> {\r\n let url_ = this.baseUrl + \"/identity/login\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSignOutWithSignInManager(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSignOutWithSignInManager(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processSignOutWithSignInManager(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf<void>(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf<void>(null as any);\r\n }\r\n\r\n loginAndReturnToken(model: TokenLoginPost): Observable<TokenResponseGet> {\r\n let url_ = this.baseUrl + \"/identity/token-login\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processLoginAndReturnToken(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processLoginAndReturnToken(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<TokenResponseGet>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<TokenResponseGet>;\r\n }));\r\n }\r\n\r\n protected processLoginAndReturnToken(response: HttpResponseBase): Observable<TokenResponseGet> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as TokenResponseGet;\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n result400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as TokenResponseGet;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf<TokenResponseGet>(null as any);\r\n }\r\n\r\n refreshToken(model: TokenRefreshPost): Observable<TokenResponseGet> {\r\n let url_ = this.baseUrl + \"/identity/token-refresh\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processRefreshToken(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processRefreshToken(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<TokenResponseGet>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<TokenResponseGet>;\r\n }));\r\n }\r\n\r\n protected processRefreshToken(response: HttpResponseBase): Observable<TokenResponseGet> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as TokenResponseGet;\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n result400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as TokenResponseGet;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf<TokenResponseGet>(null as any);\r\n }\r\n\r\n register(registerModel: RegisterPost): Observable<void> {\r\n let url_ = this.baseUrl + \"/identity/register\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(registerModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processRegister(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processRegister(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processRegister(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf<void>(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n result400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ApiError;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf<void>(null as any);\r\n }\r\n\r\n requestPasswordReset(forgotPasswordModel: ForgotPasswordPost): Observable<void> {\r\n let url_ = this.baseUrl + \"/identity/password-forgotten\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(forgotPasswordModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processRequestPasswordReset(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processRequestPasswordReset(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processRequestPasswordReset(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf<void>(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf<void>(null as any);\r\n }\r\n}\r\n\r\nexport interface LoginPost {\r\n identifier: string;\r\n password: string;\r\n staySignedIn: boolean;\r\n}\r\n\r\nexport interface TokenResponseGet {\r\n accessToken?: string | null;\r\n error?: string | null;\r\n errorDescription?: string | null;\r\n expiresIn: number;\r\n httpErrorReason?: string | null;\r\n httpStatusCode: HttpStatusCode;\r\n identityToken?: string | null;\r\n isError: boolean;\r\n refreshToken?: string | null;\r\n tokenType?: string | null;\r\n errorType: ResponseErrorType;\r\n}\r\n\r\nexport enum HttpStatusCode {\r\n Continue = \"Continue\",\r\n SwitchingProtocols = \"SwitchingProtocols\",\r\n Processing = \"Processing\",\r\n EarlyHints = \"EarlyHints\",\r\n OK = \"OK\",\r\n Created = \"Created\",\r\n Accepted = \"Accepted\",\r\n NonAuthoritativeInformation = \"NonAuthoritativeInformation\",\r\n NoContent = \"NoContent\",\r\n ResetContent = \"ResetContent\",\r\n PartialContent = \"PartialContent\",\r\n MultiStatus = \"MultiStatus\",\r\n AlreadyReported = \"AlreadyReported\",\r\n IMUsed = \"IMUsed\",\r\n MultipleChoices = \"Ambiguous\",\r\n Ambiguous = \"Moved\",\r\n MovedPermanently = \"Redirect\",\r\n Moved = \"RedirectMethod\",\r\n Found = \"NotModified\",\r\n Redirect = \"UseProxy\",\r\n SeeOther = \"Unused\",\r\n RedirectMethod = \"TemporaryRedirect\",\r\n NotModified = \"PermanentRedirect\",\r\n UseProxy = \"BadRequest\",\r\n Unused = \"Unauthorized\",\r\n TemporaryRedirect = \"PaymentRequired\",\r\n RedirectKeepVerb = \"Forbidden\",\r\n PermanentRedirect = \"NotFound\",\r\n BadRequest = \"MethodNotAllowed\",\r\n Unauthorized = \"NotAcceptable\",\r\n PaymentRequired = \"ProxyAuthenticationRequired\",\r\n Forbidden = \"RequestTimeout\",\r\n NotFound = \"Conflict\",\r\n MethodNotAllowed = \"Gone\",\r\n NotAcceptable = \"LengthRequired\",\r\n ProxyAuthenticationRequired = \"PreconditionFailed\",\r\n RequestTimeout = \"RequestEntityTooLarge\",\r\n Conflict = \"RequestUriTooLong\",\r\n Gone = \"UnsupportedMediaType\",\r\n LengthRequired = \"RequestedRangeNotSatisfiable\",\r\n PreconditionFailed = \"ExpectationFailed\",\r\n RequestEntityTooLarge = \"MisdirectedRequest\",\r\n RequestUriTooLong = \"UnprocessableEntity\",\r\n UnsupportedMediaType = \"Locked\",\r\n RequestedRangeNotSatisfiable = \"FailedDependency\",\r\n ExpectationFailed = \"UpgradeRequired\",\r\n MisdirectedRequest = \"PreconditionRequired\",\r\n UnprocessableEntity = \"TooManyRequests\",\r\n Locked = \"RequestHeaderFieldsTooLarge\",\r\n FailedDependency = \"UnavailableForLegalReasons\",\r\n UpgradeRequired = \"InternalServerError\",\r\n PreconditionRequired = \"NotImplemented\",\r\n TooManyRequests = \"BadGateway\",\r\n RequestHeaderFieldsTooLarge = \"ServiceUnavailable\",\r\n UnavailableForLegalReasons = \"GatewayTimeout\",\r\n InternalServerError = \"HttpVersionNotSupported\",\r\n NotImplemented = \"VariantAlsoNegotiates\",\r\n BadGateway = \"InsufficientStorage\",\r\n ServiceUnavailable = \"LoopDetected\",\r\n GatewayTimeout = \"NotExtended\",\r\n HttpVersionNotSupported = \"NetworkAuthenticationRequired\",\r\n}\r\n\r\n/** Various reasons for a protocol endpoint error */\r\nexport enum ResponseErrorType {\r\n None = \"None\",\r\n Protocol = \"Protocol\",\r\n Http = \"Http\",\r\n Exception = \"Exception\",\r\n PolicyViolation = \"PolicyViolation\",\r\n}\r\n\r\nexport interface TokenLoginPost {\r\n identifier: string;\r\n password: string;\r\n}\r\n\r\nexport interface TokenRefreshPost {\r\n refreshToken: string;\r\n}\r\n\r\n/** Data transfer class to convey api errors */\r\nexport interface ApiError {\r\n /** This dictionary contains a set of all errors and their messages */\r\n errors?: { [key: string]: string[]; } | null;\r\n}\r\n\r\nexport interface RegisterPost {\r\n username: string;\r\n email: string;\r\n password: string;\r\n preferredLanguages?: string[] | null;\r\n}\r\n\r\nexport interface ForgotPasswordPost {\r\n identifier: string;\r\n preferredLanguages?: string[] | null;\r\n}\r\n\r\nexport class SwaggerException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isSwaggerException = true;\r\n\r\n static isSwaggerException(obj: any): obj is SwaggerException {\r\n return obj.isSwaggerException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable<any> {\r\n if (result !== null && result !== undefined)\r\n return _observableThrow(result);\r\n else\r\n return _observableThrow(new SwaggerException(message, status, response, headers, null));\r\n}\r\n\r\nfunction blobToText(blob: any): Observable<string> {\r\n return new Observable<string>((observer: any) => {\r\n if (!blob) {\r\n observer.next(\"\");\r\n observer.complete();\r\n } else {\r\n let reader = new FileReader();\r\n reader.onload = event => {\r\n observer.next((event.target as any).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { DanglIdentityClient, TokenResponseGet } from \"../api-client\";\r\nimport { JwtStorage } from \"../models/jwt-storage\";\r\nimport { Subject, Observable, of, ReplaySubject } from \"rxjs\";\r\nimport { map, catchError, tap, first } from \"rxjs/operators\";\r\nimport { AuthenticationMessenger } from \"../messengers/authentication.messenger\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class JwtTokenService {\r\n private readonly storage_identifier = \"dangl_identity_integration_jwt_token\";\r\n private isRefreshing = false;\r\n private refreshTokenSource = new Subject<JwtStorage>();\r\n private tokenStoredSource = new ReplaySubject<JwtStorage>(1);\r\n tokenStored = this.tokenStoredSource.asObservable();\r\n private tokenRefreshStartedSource = new Subject();\r\n tokenRefreshStarted = this.tokenRefreshStartedSource.asObservable();\r\n private tokenRefreshFinishedSource = new Subject<boolean>();\r\n tokenRefreshFinished = this.tokenRefreshFinishedSource.asObservable();\r\n\r\n constructor(private danglIdentityClient: DanglIdentityClient) {}\r\n\r\n deleteToken() {\r\n localStorage.removeItem(this.storage_identifier);\r\n this.tokenStoredSource.next(null);\r\n }\r\n\r\n storeCustomToken(tokenToStore: JwtStorage) {\r\n localStorage.setItem(this.storage_identifier, JSON.stringify(tokenToStore));\r\n this.tokenStoredSource.next(tokenToStore);\r\n }\r\n\r\n storeToken(token: TokenResponseGet) {\r\n const tokenToStore = this.transformTokenResponse(token);\r\n localStorage.setItem(this.storage_identifier, JSON.stringify(tokenToStore));\r\n this.tokenStoredSource.next(tokenToStore);\r\n }\r\n\r\n getTokenFromStorage(): JwtStorage {\r\n const storedString = localStorage.getItem(this.storage_identifier);\r\n if (storedString) {\r\n const storedToken = <JwtStorage>JSON.parse(storedString);\r\n return storedToken;\r\n }\r\n return null;\r\n }\r\n\r\n refreshToken(): Observable<JwtStorage> {\r\n if (this.isRefreshing) {\r\n return this.refreshTokenSource.pipe(first());\r\n }\r\n this.isRefreshing = true;\r\n this.tokenRefreshStartedSource.next();\r\n const refreshToken = this.getTokenFromStorage().refreshToken;\r\n\r\n if (!refreshToken) {\r\n this.isRefreshing = false;\r\n return of<JwtStorage>(null);\r\n }\r\n\r\n this.danglIdentityClient\r\n .refreshToken({\r\n refreshToken: refreshToken,\r\n })\r\n .pipe(\r\n tap((r) => this.storeToken(r)),\r\n map((r) => this.transformTokenResponse(r))\r\n )\r\n .subscribe(\r\n (refreshTokenResponse) => {\r\n this.isRefreshing = false;\r\n this.tokenRefreshFinishedSource.next(true);\r\n this.refreshTokenSource.next(refreshTokenResponse);\r\n },\r\n (error) => {\r\n this.isRefreshing = false;\r\n this.tokenRefreshFinishedSource.next(false);\r\n this.refreshTokenSource.next(null);\r\n console.error(\r\n \"Internal error while refreshing Dangl.Identity token\",\r\n error\r\n );\r\n }\r\n );\r\n\r\n return this.refreshTokenSource.pipe(first());\r\n }\r\n\r\n getToken(): Observable<JwtStorage> {\r\n const token = this.getTokenFromStorage();\r\n if (!token) {\r\n return of<JwtStorage>(null);\r\n }\r\n const isValidToken = token.expiresAt > new Date().getTime() / 1000;\r\n if (isValidToken) {\r\n return of(token);\r\n }\r\n return this.refreshToken();\r\n }\r\n\r\n private transformTokenResponse(token: TokenResponseGet): JwtStorage {\r\n return {\r\n accessToken: token.accessToken,\r\n refreshToken: token.refreshToken,\r\n expiresAt: new Date().getTime() / 1000 + token.expiresIn,\r\n };\r\n }\r\n}\r\n","import {\r\n HttpEvent,\r\n HttpHandler,\r\n HttpInterceptor,\r\n HttpRequest,\r\n} from \"@angular/common/http\";\r\n\r\nimport { Inject, Injectable, InjectionToken, Optional } from \"@angular/core\";\r\nimport { JwtTokenService } from \"../services/jwt-token.service\";\r\nimport { Observable } from \"rxjs\";\r\nimport { mergeMap } from \"rxjs/operators\";\r\nimport { IDanglIdentityRequestValidator } from \"./dangl-identity-request-validator\";\r\n\r\nexport const DANGL_IDENTITY_REQUEST_VALIDATOR =\r\n new InjectionToken<IDanglIdentityRequestValidator>(\r\n \"Validator to decide whether to include JWT tokens in requests\"\r\n );\r\n@Injectable()\r\nexport class JwtInterceptorService implements HttpInterceptor {\r\n constructor(\r\n public jwtTokenService: JwtTokenService,\r\n @Optional()\r\n @Inject(DANGL_IDENTITY_REQUEST_VALIDATOR)\r\n private requestValidator: IDanglIdentityRequestValidator\r\n ) {}\r\n intercept(\r\n request: HttpRequest<any>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<any>> {\r\n if (request.url.startsWith(\"/identity\")) {\r\n // Requests to the authentication endpoint should not be intercepted\r\n return next.handle(request.clone());\r\n }\r\n\r\n if (\r\n this.requestValidator &&\r\n !this.requestValidator.validateRequest(request)\r\n ) {\r\n // In case a request validator is provided but doesn't return true for the\r\n // current request, we're not appending a token\r\n return next.handle(request);\r\n }\r\n\r\n return this.jwtTokenService\r\n .getToken()\r\n .pipe(\r\n mergeMap((f) =>\r\n next.handle(this.getHttpRequestWithToken(request, f && f.accessToken))\r\n )\r\n );\r\n }\r\n\r\n private getHttpRequestWithToken(\r\n request: HttpRequest<any>,\r\n token?: string\r\n ): HttpRequest<any> {\r\n if (token) {\r\n return request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${token}`,\r\n },\r\n });\r\n }\r\n return request.clone();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { JwtInterceptorService } from './interceptors/jwt-interceptor.service';\r\n\r\n@NgModule({\r\n imports: [\r\n HttpClientModule\r\n ],\r\n providers: [{ provide: HTTP_INTERCEPTORS, useClass: JwtInterceptorService, multi: true }]\r\n})\r\nexport class DanglIdentityModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { DanglIdentityClient, TokenResponseGet } from '../api-client';\r\nimport { Observable, of } from 'rxjs';\r\nimport { map, catchError } from 'rxjs/operators';\r\nimport { JwtTokenService } from './jwt-token.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthenticationService {\r\n\r\n constructor(private danglIdentityClient: DanglIdentityClient,\r\n private jwtTokenService: JwtTokenService) { }\r\n\r\n loginWithToken(identifier: string, password: string): Observable<boolean> {\r\n return this.danglIdentityClient\r\n .loginAndReturnToken({\r\n identifier: identifier,\r\n password: password\r\n })\r\n .pipe(map(r => this.storeJwtTokenIfValid(r)),\r\n catchError(e => of(false)));\r\n }\r\n\r\n private storeJwtTokenIfValid(token: TokenResponseGet): boolean {\r\n if (!token.accessToken\r\n || !token.refreshToken\r\n || !token.expiresIn) {\r\n return false;\r\n }\r\n this.jwtTokenService.storeToken(token);\r\n return true;\r\n }\r\n\r\n logout() {\r\n this.jwtTokenService.deleteToken();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ReplaySubject, Subject } from 'rxjs';\r\nimport { UserInfo } from '../models/user-info';\r\nimport { JwtTokenService } from '../services/jwt-token.service';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { JwtStorage } from '../models/jwt-storage';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthenticationMessenger {\r\n\r\n private jwtHelperService = new JwtHelperService();\r\n private lastBroadcastAccessToken: string;\r\n\r\n readonly isAuthenticated = new ReplaySubject<boolean>(1);\r\n readonly username = new ReplaySubject<string>(1);\r\n readonly email = new ReplaySubject<string>(1);\r\n readonly identiconId = new ReplaySubject<string>(1);\r\n readonly userInfo = new ReplaySubject<UserInfo>(1);\r\n readonly tokenRefreshStarted = new Subject();\r\n readonly tokenRefreshFinished = new Subject<boolean>();\r\n\r\n constructor(private jwtTokenService: JwtTokenService) {\r\n jwtTokenService.tokenRefreshStarted.subscribe(() => this.tokenRefreshStarted.next());\r\n jwtTokenService.tokenRefreshFinished.subscribe(successfulRefresh => this.tokenRefreshFinished.next(successfulRefresh));\r\n jwtTokenService.tokenStored.subscribe(jwtToken => this.refreshAuthenticationStatus(jwtToken));\r\n jwtTokenService.getToken()\r\n .subscribe(token => this.refreshAuthenticationStatus(token));\r\n }\r\n\r\n private refreshAuthenticationStatus(jwtToken?: JwtStorage) {\r\n if (jwtToken) {\r\n const isValidToken = jwtToken.expiresAt > (new Date().getTime() / 1000);\r\n if (this.lastBroadcastAccessToken === jwtToken.accessToken) {\r\n return;\r\n }\r\n this.lastBroadcastAccessToken = jwtToken.accessToken;\r\n if (isValidToken) {\r\n this.isAuthenticated.next(true);\r\n const decodedToken = this.jwtHelperService.decodeToken(jwtToken.accessToken);\r\n this.username.next(decodedToken['name']);\r\n this.email.next(decodedToken['email']);\r\n this.identiconId.next(decodedToken['identicon_id']);\r\n\r\n const tokenClaims: { [claim: string]: string } = {};\r\n for (const tokenProp in decodedToken) {\r\n if (decodedToken.hasOwnProperty(tokenProp)) {\r\n const property = decodedToken[tokenProp];\r\n if (typeof property === 'string') {\r\n tokenClaims[tokenProp] = property;\r\n }\r\n }\r\n }\r\n\r\n this.userInfo.next({\r\n id: decodedToken['sub'],\r\n claims: tokenClaims,\r\n deserializedToken: decodedToken,\r\n email: decodedToken['email'],\r\n identiconId: decodedToken['identicon_id'],\r\n username: decodedToken['name'],\r\n roles: decodedToken['role']\r\n });\r\n } else {\r\n this.isAuthenticated.next(false);\r\n this.jwtTokenService\r\n .refreshToken()\r\n .subscribe(() => { });\r\n }\r\n } else {\r\n if (this.lastBroadcastAccessToken === null) {\r\n return;\r\n }\r\n this.lastBroadcastAccessToken = null;\r\n this.isAuthenticated.next(false);\r\n this.username.next(null);\r\n this.email.next(null);\r\n this.identiconId.next(null);\r\n this.userInfo.next(null);\r\n }\r\n }\r\n\r\n}\r\n","/*\r\n * Public API Surface of angular-dangl-identity-client\r\n */\r\n\r\nexport * from \"./dangl-identity.module\";\r\nexport * from \"./api-client\";\r\nexport * from \"./interceptors/jwt-interceptor.service\";\r\nexport * from \"./interceptors/dangl-identity-request-validator\";\r\nexport * from \"./models/jwt-storage\";\r\nexport * from \"./services/authentication.service\";\r\nexport * from \"./services/jwt-token.service\";\r\nexport * from \"./messengers/authentication.messenger\";\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_observableMergeMap","_observableCatch","_observableThrow","_observableOf","i1.DanglIdentityClient","i2.JwtTokenService","i1.JwtTokenService"],"mappings":"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"}
@@ -6,7 +6,7 @@ import { mergeMap, catchError, first, tap, map } from 'rxjs/operators';
6
6
  import { throwError, Observable, of, Subject, ReplaySubject } from 'rxjs';
7
7
  import { JwtHelperService } from '@auth0/angular-jwt';
8
8
 
9
- /* tslint:disable */
9
+ //----------------------
10
10
  const DANGL_IDENTITY_CLIENT_API_BASE_URL = new InjectionToken('DANGL_IDENTITY_CLIENT_API_BASE_URL');
11
11
  class DanglIdentityClient {
12
12
  constructor(http, baseUrl) {
@@ -349,16 +349,22 @@ class DanglIdentityClient {
349
349
  return of(null);
350
350
  }
351
351
  }
352
- DanglIdentityClient.ɵprov = i0.ɵɵdefineInjectable({ factory: function DanglIdentityClient_Factory() { return new DanglIdentityClient(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(DANGL_IDENTITY_CLIENT_API_BASE_URL, 8)); }, token: DanglIdentityClient, providedIn: "root" });
353
- DanglIdentityClient.decorators = [
354
- { type: Injectable, args: [{
355
- providedIn: 'root'
356
- },] }
357
- ];
358
- DanglIdentityClient.ctorParameters = () => [
359
- { type: HttpClient, decorators: [{ type: Inject, args: [HttpClient,] }] },
360
- { type: String, decorators: [{ type: Optional }, { type: Inject, args: [DANGL_IDENTITY_CLIENT_API_BASE_URL,] }] }
361
- ];
352
+ DanglIdentityClient.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: DanglIdentityClient, deps: [{ token: HttpClient }, { token: DANGL_IDENTITY_CLIENT_API_BASE_URL, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
353
+ DanglIdentityClient.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: DanglIdentityClient, providedIn: 'root' });
354
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: DanglIdentityClient, decorators: [{
355
+ type: Injectable,
356
+ args: [{
357
+ providedIn: 'root'
358
+ }]
359
+ }], ctorParameters: function () { return [{ type: i1.HttpClient, decorators: [{
360
+ type: Inject,
361
+ args: [HttpClient]
362
+ }] }, { type: undefined, decorators: [{
363
+ type: Optional
364
+ }, {
365
+ type: Inject,
366
+ args: [DANGL_IDENTITY_CLIENT_API_BASE_URL]
367
+ }] }]; } });
362
368
  var HttpStatusCode;
363
369
  (function (HttpStatusCode) {
364
370
  HttpStatusCode["Continue"] = "Continue";
@@ -550,15 +556,14 @@ class JwtTokenService {
550
556
  };
551
557
  }
552
558
  }
553
- JwtTokenService.ɵprov = i0.ɵɵdefineInjectable({ factory: function JwtTokenService_Factory() { return new JwtTokenService(i0.ɵɵinject(DanglIdentityClient)); }, token: JwtTokenService, providedIn: "root" });
554
- JwtTokenService.decorators = [
555
- { type: Injectable, args: [{
556
- providedIn: "root",
557
- },] }
558
- ];
559
- JwtTokenService.ctorParameters = () => [
560
- { type: DanglIdentityClient }
561
- ];
559
+ JwtTokenService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: JwtTokenService, deps: [{ token: DanglIdentityClient }], target: i0.ɵɵFactoryTarget.Injectable });
560
+ JwtTokenService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: JwtTokenService, providedIn: "root" });
561
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: JwtTokenService, decorators: [{
562
+ type: Injectable,
563
+ args: [{
564
+ providedIn: "root",
565
+ }]
566
+ }], ctorParameters: function () { return [{ type: DanglIdentityClient }]; } });
562
567
 
563
568
  const DANGL_IDENTITY_REQUEST_VALIDATOR = new InjectionToken("Validator to decide whether to include JWT tokens in requests");
564
569
  class JwtInterceptorService {
@@ -592,24 +597,33 @@ class JwtInterceptorService {
592
597
  return request.clone();
593
598
  }
594
599
  }
595
- JwtInterceptorService.decorators = [
596
- { type: Injectable }
597
- ];
598
- JwtInterceptorService.ctorParameters = () => [
599
- { type: JwtTokenService },
600
- { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DANGL_IDENTITY_REQUEST_VALIDATOR,] }] }
601
- ];
600
+ JwtInterceptorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: JwtInterceptorService, deps: [{ token: JwtTokenService }, { token: DANGL_IDENTITY_REQUEST_VALIDATOR, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
601
+ JwtInterceptorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: JwtInterceptorService });
602
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: JwtInterceptorService, decorators: [{
603
+ type: Injectable
604
+ }], ctorParameters: function () { return [{ type: JwtTokenService }, { type: undefined, decorators: [{
605
+ type: Optional
606
+ }, {
607
+ type: Inject,
608
+ args: [DANGL_IDENTITY_REQUEST_VALIDATOR]
609
+ }] }]; } });
602
610
 
603
611
  class DanglIdentityModule {
604
612
  }
605
- DanglIdentityModule.decorators = [
606
- { type: NgModule, args: [{
607
- imports: [
608
- HttpClientModule
609
- ],
610
- providers: [{ provide: HTTP_INTERCEPTORS, useClass: JwtInterceptorService, multi: true }]
611
- },] }
612
- ];
613
+ DanglIdentityModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: DanglIdentityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
614
+ DanglIdentityModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: DanglIdentityModule, imports: [HttpClientModule] });
615
+ DanglIdentityModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: DanglIdentityModule, providers: [{ provide: HTTP_INTERCEPTORS, useClass: JwtInterceptorService, multi: true }], imports: [[
616
+ HttpClientModule
617
+ ]] });
618
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: DanglIdentityModule, decorators: [{
619
+ type: NgModule,
620
+ args: [{
621
+ imports: [
622
+ HttpClientModule
623
+ ],
624
+ providers: [{ provide: HTTP_INTERCEPTORS, useClass: JwtInterceptorService, multi: true }]
625
+ }]
626
+ }] });
613
627
 
614
628
  class AuthenticationService {
615
629
  constructor(danglIdentityClient, jwtTokenService) {
@@ -637,16 +651,14 @@ class AuthenticationService {
637
651
  this.jwtTokenService.deleteToken();
638
652
  }
639
653
  }
640
- AuthenticationService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AuthenticationService_Factory() { return new AuthenticationService(i0.ɵɵinject(DanglIdentityClient), i0.ɵɵinject(JwtTokenService)); }, token: AuthenticationService, providedIn: "root" });
641
- AuthenticationService.decorators = [
642
- { type: Injectable, args: [{
643
- providedIn: 'root'
644
- },] }
645
- ];
646
- AuthenticationService.ctorParameters = () => [
647
- { type: DanglIdentityClient },
648
- { type: JwtTokenService }
649
- ];
654
+ AuthenticationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: AuthenticationService, deps: [{ token: DanglIdentityClient }, { token: JwtTokenService }], target: i0.ɵɵFactoryTarget.Injectable });
655
+ AuthenticationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: AuthenticationService, providedIn: 'root' });
656
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: AuthenticationService, decorators: [{
657
+ type: Injectable,
658
+ args: [{
659
+ providedIn: 'root'
660
+ }]
661
+ }], ctorParameters: function () { return [{ type: DanglIdentityClient }, { type: JwtTokenService }]; } });
650
662
 
651
663
  class AuthenticationMessenger {
652
664
  constructor(jwtTokenService) {
@@ -717,15 +729,14 @@ class AuthenticationMessenger {
717
729
  }
718
730
  }
719
731
  }
720
- AuthenticationMessenger.ɵprov = i0.ɵɵdefineInjectable({ factory: function AuthenticationMessenger_Factory() { return new AuthenticationMessenger(i0.ɵɵinject(JwtTokenService)); }, token: AuthenticationMessenger, providedIn: "root" });
721
- AuthenticationMessenger.decorators = [
722
- { type: Injectable, args: [{
723
- providedIn: 'root'
724
- },] }
725
- ];
726
- AuthenticationMessenger.ctorParameters = () => [
727
- { type: JwtTokenService }
728
- ];
732
+ AuthenticationMessenger.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: AuthenticationMessenger, deps: [{ token: JwtTokenService }], target: i0.ɵɵFactoryTarget.Injectable });
733
+ AuthenticationMessenger.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: AuthenticationMessenger, providedIn: 'root' });
734
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: AuthenticationMessenger, decorators: [{
735
+ type: Injectable,
736
+ args: [{
737
+ providedIn: 'root'
738
+ }]
739
+ }], ctorParameters: function () { return [{ type: JwtTokenService }]; } });
729
740
 
730
741
  /*
731
742
  * Public API Surface of angular-dangl-identity-client
@@ -736,4 +747,4 @@ AuthenticationMessenger.ctorParameters = () => [
736
747
  */
737
748
 
738
749
  export { AuthenticationMessenger, AuthenticationService, DANGL_IDENTITY_CLIENT_API_BASE_URL, DANGL_IDENTITY_REQUEST_VALIDATOR, DanglIdentityClient, DanglIdentityModule, HttpStatusCode, JwtInterceptorService, JwtTokenService, ResponseErrorType, SwaggerException };
739
- //# sourceMappingURL=dangl-angular-dangl-identity-client.js.map
750
+ //# sourceMappingURL=dangl-angular-dangl-identity-client.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dangl-angular-dangl-identity-client.mjs","sources":["../../../projects/angular-dangl-identity-client/src/api-client.ts","../../../projects/angular-dangl-identity-client/src/services/jwt-token.service.ts","../../../projects/angular-dangl-identity-client/src/interceptors/jwt-interceptor.service.ts","../../../projects/angular-dangl-identity-client/src/dangl-identity.module.ts","../../../projects/angular-dangl-identity-client/src/services/authentication.service.ts","../../../projects/angular-dangl-identity-client/src/messengers/authentication.messenger.ts","../../../projects/angular-dangl-identity-client/src/public_api.ts","../../../projects/angular-dangl-identity-client/src/dangl-angular-dangl-identity-client.ts"],"sourcesContent":["//----------------------\r\n// <auto-generated>\r\n// Generated using the NSwag toolchain v13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org)\r\n// </auto-generated>\r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators';\r\nimport { Observable, throwError as _observableThrow, of as _observableOf } from 'rxjs';\r\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\n\r\nexport const DANGL_IDENTITY_CLIENT_API_BASE_URL = new InjectionToken<string>('DANGL_IDENTITY_CLIENT_API_BASE_URL');\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DanglIdentityClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(DANGL_IDENTITY_CLIENT_API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n loginWithCookie(model: LoginPost, redirectUrl: string | null | undefined): Observable<void> {\r\n let url_ = this.baseUrl + \"/identity/login?\";\r\n if (redirectUrl !== undefined && redirectUrl !== null)\r\n url_ += \"redirectUrl=\" + encodeURIComponent(\"\" + redirectUrl) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processLoginWithCookie(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processLoginWithCookie(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processLoginWithCookie(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf<void>(null as any);\r\n }));\r\n } else if (status === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf<void>(null as any);\r\n }\r\n\r\n signOutWithSignInManager(): Observable<void> {\r\n let url_ = this.baseUrl + \"/identity/login\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n })\r\n };\r\n\r\n return this.http.request(\"delete\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processSignOutWithSignInManager(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processSignOutWithSignInManager(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processSignOutWithSignInManager(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf<void>(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf<void>(null as any);\r\n }\r\n\r\n loginAndReturnToken(model: TokenLoginPost): Observable<TokenResponseGet> {\r\n let url_ = this.baseUrl + \"/identity/token-login\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processLoginAndReturnToken(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processLoginAndReturnToken(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<TokenResponseGet>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<TokenResponseGet>;\r\n }));\r\n }\r\n\r\n protected processLoginAndReturnToken(response: HttpResponseBase): Observable<TokenResponseGet> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as TokenResponseGet;\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n result400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as TokenResponseGet;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf<TokenResponseGet>(null as any);\r\n }\r\n\r\n refreshToken(model: TokenRefreshPost): Observable<TokenResponseGet> {\r\n let url_ = this.baseUrl + \"/identity/token-refresh\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processRefreshToken(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processRefreshToken(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<TokenResponseGet>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<TokenResponseGet>;\r\n }));\r\n }\r\n\r\n protected processRefreshToken(response: HttpResponseBase): Observable<TokenResponseGet> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result200: any = null;\r\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as TokenResponseGet;\r\n return _observableOf(result200);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n result400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as TokenResponseGet;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status === 401) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf<TokenResponseGet>(null as any);\r\n }\r\n\r\n register(registerModel: RegisterPost): Observable<void> {\r\n let url_ = this.baseUrl + \"/identity/register\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(registerModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processRegister(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processRegister(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processRegister(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf<void>(null as any);\r\n }));\r\n } else if (status === 400) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n let result400: any = null;\r\n result400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ApiError;\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf<void>(null as any);\r\n }\r\n\r\n requestPasswordReset(forgotPasswordModel: ForgotPasswordPost): Observable<void> {\r\n let url_ = this.baseUrl + \"/identity/password-forgotten\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(forgotPasswordModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processRequestPasswordReset(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processRequestPasswordReset(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<void>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<void>;\r\n }));\r\n }\r\n\r\n protected processRequestPasswordReset(response: HttpResponseBase): Observable<void> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return _observableOf<void>(null as any);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf<void>(null as any);\r\n }\r\n}\r\n\r\nexport interface LoginPost {\r\n identifier: string;\r\n password: string;\r\n staySignedIn: boolean;\r\n}\r\n\r\nexport interface TokenResponseGet {\r\n accessToken?: string | null;\r\n error?: string | null;\r\n errorDescription?: string | null;\r\n expiresIn: number;\r\n httpErrorReason?: string | null;\r\n httpStatusCode: HttpStatusCode;\r\n identityToken?: string | null;\r\n isError: boolean;\r\n refreshToken?: string | null;\r\n tokenType?: string | null;\r\n errorType: ResponseErrorType;\r\n}\r\n\r\nexport enum HttpStatusCode {\r\n Continue = \"Continue\",\r\n SwitchingProtocols = \"SwitchingProtocols\",\r\n Processing = \"Processing\",\r\n EarlyHints = \"EarlyHints\",\r\n OK = \"OK\",\r\n Created = \"Created\",\r\n Accepted = \"Accepted\",\r\n NonAuthoritativeInformation = \"NonAuthoritativeInformation\",\r\n NoContent = \"NoContent\",\r\n ResetContent = \"ResetContent\",\r\n PartialContent = \"PartialContent\",\r\n MultiStatus = \"MultiStatus\",\r\n AlreadyReported = \"AlreadyReported\",\r\n IMUsed = \"IMUsed\",\r\n MultipleChoices = \"Ambiguous\",\r\n Ambiguous = \"Moved\",\r\n MovedPermanently = \"Redirect\",\r\n Moved = \"RedirectMethod\",\r\n Found = \"NotModified\",\r\n Redirect = \"UseProxy\",\r\n SeeOther = \"Unused\",\r\n RedirectMethod = \"TemporaryRedirect\",\r\n NotModified = \"PermanentRedirect\",\r\n UseProxy = \"BadRequest\",\r\n Unused = \"Unauthorized\",\r\n TemporaryRedirect = \"PaymentRequired\",\r\n RedirectKeepVerb = \"Forbidden\",\r\n PermanentRedirect = \"NotFound\",\r\n BadRequest = \"MethodNotAllowed\",\r\n Unauthorized = \"NotAcceptable\",\r\n PaymentRequired = \"ProxyAuthenticationRequired\",\r\n Forbidden = \"RequestTimeout\",\r\n NotFound = \"Conflict\",\r\n MethodNotAllowed = \"Gone\",\r\n NotAcceptable = \"LengthRequired\",\r\n ProxyAuthenticationRequired = \"PreconditionFailed\",\r\n RequestTimeout = \"RequestEntityTooLarge\",\r\n Conflict = \"RequestUriTooLong\",\r\n Gone = \"UnsupportedMediaType\",\r\n LengthRequired = \"RequestedRangeNotSatisfiable\",\r\n PreconditionFailed = \"ExpectationFailed\",\r\n RequestEntityTooLarge = \"MisdirectedRequest\",\r\n RequestUriTooLong = \"UnprocessableEntity\",\r\n UnsupportedMediaType = \"Locked\",\r\n RequestedRangeNotSatisfiable = \"FailedDependency\",\r\n ExpectationFailed = \"UpgradeRequired\",\r\n MisdirectedRequest = \"PreconditionRequired\",\r\n UnprocessableEntity = \"TooManyRequests\",\r\n Locked = \"RequestHeaderFieldsTooLarge\",\r\n FailedDependency = \"UnavailableForLegalReasons\",\r\n UpgradeRequired = \"InternalServerError\",\r\n PreconditionRequired = \"NotImplemented\",\r\n TooManyRequests = \"BadGateway\",\r\n RequestHeaderFieldsTooLarge = \"ServiceUnavailable\",\r\n UnavailableForLegalReasons = \"GatewayTimeout\",\r\n InternalServerError = \"HttpVersionNotSupported\",\r\n NotImplemented = \"VariantAlsoNegotiates\",\r\n BadGateway = \"InsufficientStorage\",\r\n ServiceUnavailable = \"LoopDetected\",\r\n GatewayTimeout = \"NotExtended\",\r\n HttpVersionNotSupported = \"NetworkAuthenticationRequired\",\r\n}\r\n\r\n/** Various reasons for a protocol endpoint error */\r\nexport enum ResponseErrorType {\r\n None = \"None\",\r\n Protocol = \"Protocol\",\r\n Http = \"Http\",\r\n Exception = \"Exception\",\r\n PolicyViolation = \"PolicyViolation\",\r\n}\r\n\r\nexport interface TokenLoginPost {\r\n identifier: string;\r\n password: string;\r\n}\r\n\r\nexport interface TokenRefreshPost {\r\n refreshToken: string;\r\n}\r\n\r\n/** Data transfer class to convey api errors */\r\nexport interface ApiError {\r\n /** This dictionary contains a set of all errors and their messages */\r\n errors?: { [key: string]: string[]; } | null;\r\n}\r\n\r\nexport interface RegisterPost {\r\n username: string;\r\n email: string;\r\n password: string;\r\n preferredLanguages?: string[] | null;\r\n}\r\n\r\nexport interface ForgotPasswordPost {\r\n identifier: string;\r\n preferredLanguages?: string[] | null;\r\n}\r\n\r\nexport class SwaggerException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isSwaggerException = true;\r\n\r\n static isSwaggerException(obj: any): obj is SwaggerException {\r\n return obj.isSwaggerException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable<any> {\r\n if (result !== null && result !== undefined)\r\n return _observableThrow(result);\r\n else\r\n return _observableThrow(new SwaggerException(message, status, response, headers, null));\r\n}\r\n\r\nfunction blobToText(blob: any): Observable<string> {\r\n return new Observable<string>((observer: any) => {\r\n if (!blob) {\r\n observer.next(\"\");\r\n observer.complete();\r\n } else {\r\n let reader = new FileReader();\r\n reader.onload = event => {\r\n observer.next((event.target as any).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { DanglIdentityClient, TokenResponseGet } from \"../api-client\";\r\nimport { JwtStorage } from \"../models/jwt-storage\";\r\nimport { Subject, Observable, of, ReplaySubject } from \"rxjs\";\r\nimport { map, catchError, tap, first } from \"rxjs/operators\";\r\nimport { AuthenticationMessenger } from \"../messengers/authentication.messenger\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class JwtTokenService {\r\n private readonly storage_identifier = \"dangl_identity_integration_jwt_token\";\r\n private isRefreshing = false;\r\n private refreshTokenSource = new Subject<JwtStorage>();\r\n private tokenStoredSource = new ReplaySubject<JwtStorage>(1);\r\n tokenStored = this.tokenStoredSource.asObservable();\r\n private tokenRefreshStartedSource = new Subject();\r\n tokenRefreshStarted = this.tokenRefreshStartedSource.asObservable();\r\n private tokenRefreshFinishedSource = new Subject<boolean>();\r\n tokenRefreshFinished = this.tokenRefreshFinishedSource.asObservable();\r\n\r\n constructor(private danglIdentityClient: DanglIdentityClient) {}\r\n\r\n deleteToken() {\r\n localStorage.removeItem(this.storage_identifier);\r\n this.tokenStoredSource.next(null);\r\n }\r\n\r\n storeCustomToken(tokenToStore: JwtStorage) {\r\n localStorage.setItem(this.storage_identifier, JSON.stringify(tokenToStore));\r\n this.tokenStoredSource.next(tokenToStore);\r\n }\r\n\r\n storeToken(token: TokenResponseGet) {\r\n const tokenToStore = this.transformTokenResponse(token);\r\n localStorage.setItem(this.storage_identifier, JSON.stringify(tokenToStore));\r\n this.tokenStoredSource.next(tokenToStore);\r\n }\r\n\r\n getTokenFromStorage(): JwtStorage {\r\n const storedString = localStorage.getItem(this.storage_identifier);\r\n if (storedString) {\r\n const storedToken = <JwtStorage>JSON.parse(storedString);\r\n return storedToken;\r\n }\r\n return null;\r\n }\r\n\r\n refreshToken(): Observable<JwtStorage> {\r\n if (this.isRefreshing) {\r\n return this.refreshTokenSource.pipe(first());\r\n }\r\n this.isRefreshing = true;\r\n this.tokenRefreshStartedSource.next();\r\n const refreshToken = this.getTokenFromStorage().refreshToken;\r\n\r\n if (!refreshToken) {\r\n this.isRefreshing = false;\r\n return of<JwtStorage>(null);\r\n }\r\n\r\n this.danglIdentityClient\r\n .refreshToken({\r\n refreshToken: refreshToken,\r\n })\r\n .pipe(\r\n tap((r) => this.storeToken(r)),\r\n map((r) => this.transformTokenResponse(r))\r\n )\r\n .subscribe(\r\n (refreshTokenResponse) => {\r\n this.isRefreshing = false;\r\n this.tokenRefreshFinishedSource.next(true);\r\n this.refreshTokenSource.next(refreshTokenResponse);\r\n },\r\n (error) => {\r\n this.isRefreshing = false;\r\n this.tokenRefreshFinishedSource.next(false);\r\n this.refreshTokenSource.next(null);\r\n console.error(\r\n \"Internal error while refreshing Dangl.Identity token\",\r\n error\r\n );\r\n }\r\n );\r\n\r\n return this.refreshTokenSource.pipe(first());\r\n }\r\n\r\n getToken(): Observable<JwtStorage> {\r\n const token = this.getTokenFromStorage();\r\n if (!token) {\r\n return of<JwtStorage>(null);\r\n }\r\n const isValidToken = token.expiresAt > new Date().getTime() / 1000;\r\n if (isValidToken) {\r\n return of(token);\r\n }\r\n return this.refreshToken();\r\n }\r\n\r\n private transformTokenResponse(token: TokenResponseGet): JwtStorage {\r\n return {\r\n accessToken: token.accessToken,\r\n refreshToken: token.refreshToken,\r\n expiresAt: new Date().getTime() / 1000 + token.expiresIn,\r\n };\r\n }\r\n}\r\n","import {\r\n HttpEvent,\r\n HttpHandler,\r\n HttpInterceptor,\r\n HttpRequest,\r\n} from \"@angular/common/http\";\r\n\r\nimport { Inject, Injectable, InjectionToken, Optional } from \"@angular/core\";\r\nimport { JwtTokenService } from \"../services/jwt-token.service\";\r\nimport { Observable } from \"rxjs\";\r\nimport { mergeMap } from \"rxjs/operators\";\r\nimport { IDanglIdentityRequestValidator } from \"./dangl-identity-request-validator\";\r\n\r\nexport const DANGL_IDENTITY_REQUEST_VALIDATOR =\r\n new InjectionToken<IDanglIdentityRequestValidator>(\r\n \"Validator to decide whether to include JWT tokens in requests\"\r\n );\r\n@Injectable()\r\nexport class JwtInterceptorService implements HttpInterceptor {\r\n constructor(\r\n public jwtTokenService: JwtTokenService,\r\n @Optional()\r\n @Inject(DANGL_IDENTITY_REQUEST_VALIDATOR)\r\n private requestValidator: IDanglIdentityRequestValidator\r\n ) {}\r\n intercept(\r\n request: HttpRequest<any>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<any>> {\r\n if (request.url.startsWith(\"/identity\")) {\r\n // Requests to the authentication endpoint should not be intercepted\r\n return next.handle(request.clone());\r\n }\r\n\r\n if (\r\n this.requestValidator &&\r\n !this.requestValidator.validateRequest(request)\r\n ) {\r\n // In case a request validator is provided but doesn't return true for the\r\n // current request, we're not appending a token\r\n return next.handle(request);\r\n }\r\n\r\n return this.jwtTokenService\r\n .getToken()\r\n .pipe(\r\n mergeMap((f) =>\r\n next.handle(this.getHttpRequestWithToken(request, f && f.accessToken))\r\n )\r\n );\r\n }\r\n\r\n private getHttpRequestWithToken(\r\n request: HttpRequest<any>,\r\n token?: string\r\n ): HttpRequest<any> {\r\n if (token) {\r\n return request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${token}`,\r\n },\r\n });\r\n }\r\n return request.clone();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { JwtInterceptorService } from './interceptors/jwt-interceptor.service';\r\n\r\n@NgModule({\r\n imports: [\r\n HttpClientModule\r\n ],\r\n providers: [{ provide: HTTP_INTERCEPTORS, useClass: JwtInterceptorService, multi: true }]\r\n})\r\nexport class DanglIdentityModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { DanglIdentityClient, TokenResponseGet } from '../api-client';\r\nimport { Observable, of } from 'rxjs';\r\nimport { map, catchError } from 'rxjs/operators';\r\nimport { JwtTokenService } from './jwt-token.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthenticationService {\r\n\r\n constructor(private danglIdentityClient: DanglIdentityClient,\r\n private jwtTokenService: JwtTokenService) { }\r\n\r\n loginWithToken(identifier: string, password: string): Observable<boolean> {\r\n return this.danglIdentityClient\r\n .loginAndReturnToken({\r\n identifier: identifier,\r\n password: password\r\n })\r\n .pipe(map(r => this.storeJwtTokenIfValid(r)),\r\n catchError(e => of(false)));\r\n }\r\n\r\n private storeJwtTokenIfValid(token: TokenResponseGet): boolean {\r\n if (!token.accessToken\r\n || !token.refreshToken\r\n || !token.expiresIn) {\r\n return false;\r\n }\r\n this.jwtTokenService.storeToken(token);\r\n return true;\r\n }\r\n\r\n logout() {\r\n this.jwtTokenService.deleteToken();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ReplaySubject, Subject } from 'rxjs';\r\nimport { UserInfo } from '../models/user-info';\r\nimport { JwtTokenService } from '../services/jwt-token.service';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { JwtStorage } from '../models/jwt-storage';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthenticationMessenger {\r\n\r\n private jwtHelperService = new JwtHelperService();\r\n private lastBroadcastAccessToken: string;\r\n\r\n readonly isAuthenticated = new ReplaySubject<boolean>(1);\r\n readonly username = new ReplaySubject<string>(1);\r\n readonly email = new ReplaySubject<string>(1);\r\n readonly identiconId = new ReplaySubject<string>(1);\r\n readonly userInfo = new ReplaySubject<UserInfo>(1);\r\n readonly tokenRefreshStarted = new Subject();\r\n readonly tokenRefreshFinished = new Subject<boolean>();\r\n\r\n constructor(private jwtTokenService: JwtTokenService) {\r\n jwtTokenService.tokenRefreshStarted.subscribe(() => this.tokenRefreshStarted.next());\r\n jwtTokenService.tokenRefreshFinished.subscribe(successfulRefresh => this.tokenRefreshFinished.next(successfulRefresh));\r\n jwtTokenService.tokenStored.subscribe(jwtToken => this.refreshAuthenticationStatus(jwtToken));\r\n jwtTokenService.getToken()\r\n .subscribe(token => this.refreshAuthenticationStatus(token));\r\n }\r\n\r\n private refreshAuthenticationStatus(jwtToken?: JwtStorage) {\r\n if (jwtToken) {\r\n const isValidToken = jwtToken.expiresAt > (new Date().getTime() / 1000);\r\n if (this.lastBroadcastAccessToken === jwtToken.accessToken) {\r\n return;\r\n }\r\n this.lastBroadcastAccessToken = jwtToken.accessToken;\r\n if (isValidToken) {\r\n this.isAuthenticated.next(true);\r\n const decodedToken = this.jwtHelperService.decodeToken(jwtToken.accessToken);\r\n this.username.next(decodedToken['name']);\r\n this.email.next(decodedToken['email']);\r\n this.identiconId.next(decodedToken['identicon_id']);\r\n\r\n const tokenClaims: { [claim: string]: string } = {};\r\n for (const tokenProp in decodedToken) {\r\n if (decodedToken.hasOwnProperty(tokenProp)) {\r\n const property = decodedToken[tokenProp];\r\n if (typeof property === 'string') {\r\n tokenClaims[tokenProp] = property;\r\n }\r\n }\r\n }\r\n\r\n this.userInfo.next({\r\n id: decodedToken['sub'],\r\n claims: tokenClaims,\r\n deserializedToken: decodedToken,\r\n email: decodedToken['email'],\r\n identiconId: decodedToken['identicon_id'],\r\n username: decodedToken['name'],\r\n roles: decodedToken['role']\r\n });\r\n } else {\r\n this.isAuthenticated.next(false);\r\n this.jwtTokenService\r\n .refreshToken()\r\n .subscribe(() => { });\r\n }\r\n } else {\r\n if (this.lastBroadcastAccessToken === null) {\r\n return;\r\n }\r\n this.lastBroadcastAccessToken = null;\r\n this.isAuthenticated.next(false);\r\n this.username.next(null);\r\n this.email.next(null);\r\n this.identiconId.next(null);\r\n this.userInfo.next(null);\r\n }\r\n }\r\n\r\n}\r\n","/*\r\n * Public API Surface of angular-dangl-identity-client\r\n */\r\n\r\nexport * from \"./dangl-identity.module\";\r\nexport * from \"./api-client\";\r\nexport * from \"./interceptors/jwt-interceptor.service\";\r\nexport * from \"./interceptors/dangl-identity-request-validator\";\r\nexport * from \"./models/jwt-storage\";\r\nexport * from \"./services/authentication.service\";\r\nexport * from \"./services/jwt-token.service\";\r\nexport * from \"./messengers/authentication.messenger\";\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_observableMergeMap","_observableCatch","_observableThrow","_observableOf","i1.DanglIdentityClient","i2.JwtTokenService","i1.JwtTokenService"],"mappings":"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"}
@@ -3,6 +3,7 @@ import { InjectionToken } from "@angular/core";
3
3
  import { JwtTokenService } from "../services/jwt-token.service";
4
4
  import { Observable } from "rxjs";
5
5
  import { IDanglIdentityRequestValidator } from "./dangl-identity-request-validator";
6
+ import * as i0 from "@angular/core";
6
7
  export declare const DANGL_IDENTITY_REQUEST_VALIDATOR: InjectionToken<IDanglIdentityRequestValidator>;
7
8
  export declare class JwtInterceptorService implements HttpInterceptor {
8
9
  jwtTokenService: JwtTokenService;
@@ -10,4 +11,6 @@ export declare class JwtInterceptorService implements HttpInterceptor {
10
11
  constructor(jwtTokenService: JwtTokenService, requestValidator: IDanglIdentityRequestValidator);
11
12
  intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;
12
13
  private getHttpRequestWithToken;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<JwtInterceptorService, [null, { optional: true; }]>;
15
+ static ɵprov: i0.ɵɵInjectableDeclaration<JwtInterceptorService>;
13
16
  }
@@ -1,6 +1,7 @@
1
1
  import { ReplaySubject, Subject } from 'rxjs';
2
2
  import { UserInfo } from '../models/user-info';
3
3
  import { JwtTokenService } from '../services/jwt-token.service';
4
+ import * as i0 from "@angular/core";
4
5
  export declare class AuthenticationMessenger {
5
6
  private jwtTokenService;
6
7
  private jwtHelperService;
@@ -14,4 +15,6 @@ export declare class AuthenticationMessenger {
14
15
  readonly tokenRefreshFinished: Subject<boolean>;
15
16
  constructor(jwtTokenService: JwtTokenService);
16
17
  private refreshAuthenticationStatus;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<AuthenticationMessenger, never>;
19
+ static ɵprov: i0.ɵɵInjectableDeclaration<AuthenticationMessenger>;
17
20
  }
package/package.json CHANGED
@@ -1,20 +1,32 @@
1
1
  {
2
2
  "name": "@dangl/angular-dangl-identity-client",
3
- "version": "4.0.0",
3
+ "version": "4.0.1-beta0004",
4
4
  "peerDependencies": {
5
- "@angular/common": "^12.2.5",
6
- "@angular/core": "^12.2.5",
5
+ "@angular/common": "^13.2.6",
6
+ "@angular/core": "^13.2.6",
7
7
  "@auth0/angular-jwt": "^5.0.2"
8
8
  },
9
9
  "dependencies": {
10
10
  "tslib": "^2.0.0"
11
11
  },
12
- "main": "bundles/dangl-angular-dangl-identity-client.umd.js",
13
- "module": "fesm2015/dangl-angular-dangl-identity-client.js",
14
- "es2015": "fesm2015/dangl-angular-dangl-identity-client.js",
15
- "esm2015": "esm2015/dangl-angular-dangl-identity-client.js",
16
- "fesm2015": "fesm2015/dangl-angular-dangl-identity-client.js",
12
+ "module": "fesm2015/dangl-angular-dangl-identity-client.mjs",
13
+ "es2020": "fesm2020/dangl-angular-dangl-identity-client.mjs",
14
+ "esm2020": "esm2020/dangl-angular-dangl-identity-client.mjs",
15
+ "fesm2020": "fesm2020/dangl-angular-dangl-identity-client.mjs",
16
+ "fesm2015": "fesm2015/dangl-angular-dangl-identity-client.mjs",
17
17
  "typings": "dangl-angular-dangl-identity-client.d.ts",
18
- "metadata": "dangl-angular-dangl-identity-client.metadata.json",
18
+ "exports": {
19
+ "./package.json": {
20
+ "default": "./package.json"
21
+ },
22
+ ".": {
23
+ "types": "./dangl-angular-dangl-identity-client.d.ts",
24
+ "esm2020": "./esm2020/dangl-angular-dangl-identity-client.mjs",
25
+ "es2020": "./fesm2020/dangl-angular-dangl-identity-client.mjs",
26
+ "es2015": "./fesm2015/dangl-angular-dangl-identity-client.mjs",
27
+ "node": "./fesm2015/dangl-angular-dangl-identity-client.mjs",
28
+ "default": "./fesm2020/dangl-angular-dangl-identity-client.mjs"
29
+ }
30
+ },
19
31
  "sideEffects": false
20
32
  }
@@ -1,6 +1,7 @@
1
1
  import { DanglIdentityClient } from '../api-client';
2
2
  import { Observable } from 'rxjs';
3
3
  import { JwtTokenService } from './jwt-token.service';
4
+ import * as i0 from "@angular/core";
4
5
  export declare class AuthenticationService {
5
6
  private danglIdentityClient;
6
7
  private jwtTokenService;
@@ -8,4 +9,6 @@ export declare class AuthenticationService {
8
9
  loginWithToken(identifier: string, password: string): Observable<boolean>;
9
10
  private storeJwtTokenIfValid;
10
11
  logout(): void;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<AuthenticationService, never>;
13
+ static ɵprov: i0.ɵɵInjectableDeclaration<AuthenticationService>;
11
14
  }
@@ -1,6 +1,7 @@
1
1
  import { DanglIdentityClient, TokenResponseGet } from "../api-client";
2
2
  import { JwtStorage } from "../models/jwt-storage";
3
3
  import { Observable } from "rxjs";
4
+ import * as i0 from "@angular/core";
4
5
  export declare class JwtTokenService {
5
6
  private danglIdentityClient;
6
7
  private readonly storage_identifier;
@@ -20,4 +21,6 @@ export declare class JwtTokenService {
20
21
  refreshToken(): Observable<JwtStorage>;
21
22
  getToken(): Observable<JwtStorage>;
22
23
  private transformTokenResponse;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<JwtTokenService, never>;
25
+ static ɵprov: i0.ɵɵInjectableDeclaration<JwtTokenService>;
23
26
  }