@okta/okta-auth-js 6.3.0 → 6.4.0

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 (156) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +6 -0
  3. package/cjs/AuthStateManager.js +1 -0
  4. package/cjs/AuthStateManager.js.map +1 -1
  5. package/cjs/OktaAuth.js +10 -11
  6. package/cjs/OktaAuth.js.map +1 -1
  7. package/cjs/OktaUserAgent.js +2 -2
  8. package/cjs/TokenManager.js.map +1 -1
  9. package/cjs/TransactionManager.js +3 -3
  10. package/cjs/TransactionManager.js.map +1 -1
  11. package/cjs/crypto/verifyToken.js +2 -1
  12. package/cjs/crypto/verifyToken.js.map +1 -1
  13. package/cjs/errors/AuthApiError.js.map +1 -1
  14. package/cjs/errors/OAuthError.js +7 -1
  15. package/cjs/errors/OAuthError.js.map +1 -1
  16. package/cjs/fetch/fetchRequest.js +17 -3
  17. package/cjs/fetch/fetchRequest.js.map +1 -1
  18. package/cjs/http/request.js +7 -3
  19. package/cjs/http/request.js.map +1 -1
  20. package/cjs/idx/idxState/index.js +55 -0
  21. package/cjs/idx/idxState/index.js.map +1 -0
  22. package/cjs/idx/{idx-js → idxState}/v1/actionParser.js +1 -0
  23. package/cjs/idx/idxState/v1/actionParser.js.map +1 -0
  24. package/cjs/idx/{idx-js → idxState}/v1/generateIdxAction.js +43 -30
  25. package/cjs/idx/idxState/v1/generateIdxAction.js.map +1 -0
  26. package/cjs/idx/{idx-js → idxState}/v1/idxResponseParser.js +8 -8
  27. package/cjs/idx/idxState/v1/idxResponseParser.js.map +1 -0
  28. package/cjs/idx/{idx-js → idxState}/v1/makeIdxState.js +3 -2
  29. package/cjs/idx/idxState/v1/makeIdxState.js.map +1 -0
  30. package/cjs/idx/{idx-js → idxState}/v1/parsers.js +1 -0
  31. package/cjs/idx/idxState/v1/parsers.js.map +1 -0
  32. package/cjs/idx/{idx-js → idxState}/v1/remediationParser.js +4 -2
  33. package/cjs/idx/idxState/v1/remediationParser.js.map +1 -0
  34. package/cjs/idx/interact.js +42 -21
  35. package/cjs/idx/interact.js.map +1 -1
  36. package/cjs/idx/introspect.js +37 -12
  37. package/cjs/idx/introspect.js.map +1 -1
  38. package/cjs/idx/remediate.js +57 -135
  39. package/cjs/idx/remediate.js.map +1 -1
  40. package/cjs/idx/remediators/AuthenticatorEnrollmentData.js.map +1 -1
  41. package/cjs/idx/remediators/AuthenticatorVerificationData.js +7 -6
  42. package/cjs/idx/remediators/AuthenticatorVerificationData.js.map +1 -1
  43. package/cjs/idx/remediators/Base/AuthenticatorData.js.map +1 -1
  44. package/cjs/idx/remediators/Base/Remediator.js +12 -2
  45. package/cjs/idx/remediators/Base/Remediator.js.map +1 -1
  46. package/cjs/idx/remediators/Base/SelectAuthenticator.js.map +1 -1
  47. package/cjs/idx/remediators/Base/VerifyAuthenticator.js.map +1 -1
  48. package/cjs/idx/remediators/ChallengeAuthenticator.js.map +1 -1
  49. package/cjs/idx/remediators/EnrollAuthenticator.js.map +1 -1
  50. package/cjs/idx/remediators/EnrollPoll.js.map +1 -1
  51. package/cjs/idx/remediators/EnrollProfile.js.map +1 -1
  52. package/cjs/idx/remediators/EnrollmentChannelData.js.map +1 -1
  53. package/cjs/idx/remediators/Identify.js.map +1 -1
  54. package/cjs/idx/remediators/ReEnrollAuthenticator.js.map +1 -1
  55. package/cjs/idx/remediators/ResetAuthenticator.js.map +1 -1
  56. package/cjs/idx/remediators/SelectAuthenticatorAuthenticate.js.map +1 -1
  57. package/cjs/idx/remediators/SelectAuthenticatorEnroll.js.map +1 -1
  58. package/cjs/idx/remediators/SelectAuthenticatorUnlockAccount.js.map +1 -1
  59. package/cjs/idx/remediators/SelectEnrollProfile.js.map +1 -1
  60. package/cjs/idx/remediators/SelectEnrollmentChannel.js.map +1 -1
  61. package/cjs/idx/remediators/Skip.js.map +1 -1
  62. package/cjs/idx/run.js +16 -12
  63. package/cjs/idx/run.js.map +1 -1
  64. package/cjs/idx/types/idx-js.js +2 -0
  65. package/cjs/idx/types/idx-js.js.map +1 -1
  66. package/cjs/idx/types/index.js +0 -138
  67. package/cjs/idx/types/index.js.map +1 -1
  68. package/cjs/idx/util.js +127 -5
  69. package/cjs/idx/util.js.map +1 -1
  70. package/cjs/server/serverStorage.js +1 -0
  71. package/cjs/server/serverStorage.js.map +1 -1
  72. package/cjs/tx/AuthTransaction.js.map +1 -1
  73. package/cjs/types/Token.js +0 -1
  74. package/cjs/types/Token.js.map +1 -1
  75. package/cjs/util/object.js.map +1 -1
  76. package/cjs/util/types.js.map +1 -1
  77. package/dist/okta-auth-js.min.js +1 -1
  78. package/dist/okta-auth-js.min.js.map +1 -1
  79. package/dist/okta-auth-js.umd.js +1 -1
  80. package/dist/okta-auth-js.umd.js.map +1 -1
  81. package/esm/esm.browser.js +711 -895
  82. package/esm/esm.browser.js.map +1 -1
  83. package/esm/esm.node.mjs +619 -740
  84. package/esm/esm.node.mjs.map +1 -1
  85. package/lib/TokenManager.d.ts +2 -2
  86. package/lib/errors/OAuthError.d.ts +2 -0
  87. package/lib/idx/flow/RemediationFlow.d.ts +2 -2
  88. package/lib/idx/idxState/index.d.ts +7 -0
  89. package/lib/idx/{idx-js → idxState}/v1/actionParser.d.ts +0 -0
  90. package/lib/idx/{idx-js → idxState}/v1/generateIdxAction.d.ts +3 -1
  91. package/lib/idx/{idx-js → idxState}/v1/idxResponseParser.d.ts +3 -2
  92. package/lib/idx/{idx-js → idxState}/v1/makeIdxState.d.ts +3 -2
  93. package/lib/idx/{idx-js → idxState}/v1/parsers.d.ts +0 -0
  94. package/lib/idx/{idx-js → idxState}/v1/remediationParser.d.ts +2 -1
  95. package/lib/idx/interact.d.ts +22 -0
  96. package/lib/idx/remediate.d.ts +9 -12
  97. package/lib/idx/remediators/AuthenticatorEnrollmentData.d.ts +1 -2
  98. package/lib/idx/remediators/AuthenticatorVerificationData.d.ts +3 -3
  99. package/lib/idx/remediators/Base/AuthenticatorData.d.ts +3 -4
  100. package/lib/idx/remediators/Base/Remediator.d.ts +8 -4
  101. package/lib/idx/remediators/Base/SelectAuthenticator.d.ts +2 -3
  102. package/lib/idx/remediators/Base/VerifyAuthenticator.d.ts +3 -4
  103. package/lib/idx/remediators/ChallengeAuthenticator.d.ts +1 -2
  104. package/lib/idx/remediators/EnrollAuthenticator.d.ts +1 -2
  105. package/lib/idx/remediators/EnrollPoll.d.ts +1 -2
  106. package/lib/idx/remediators/EnrollProfile.d.ts +1 -2
  107. package/lib/idx/remediators/EnrollmentChannelData.d.ts +1 -2
  108. package/lib/idx/remediators/Identify.d.ts +1 -2
  109. package/lib/idx/remediators/ReEnrollAuthenticator.d.ts +1 -2
  110. package/lib/idx/remediators/ResetAuthenticator.d.ts +1 -2
  111. package/lib/idx/remediators/SelectAuthenticatorAuthenticate.d.ts +1 -2
  112. package/lib/idx/remediators/SelectAuthenticatorEnroll.d.ts +1 -2
  113. package/lib/idx/remediators/SelectAuthenticatorUnlockAccount.d.ts +1 -2
  114. package/lib/idx/remediators/SelectEnrollProfile.d.ts +1 -2
  115. package/lib/idx/remediators/SelectEnrollmentChannel.d.ts +1 -2
  116. package/lib/idx/remediators/Skip.d.ts +1 -2
  117. package/lib/idx/types/idx-js.d.ts +5 -2
  118. package/lib/idx/types/index.d.ts +26 -17
  119. package/lib/idx/util.d.ts +7 -4
  120. package/lib/types/EventEmitter.d.ts +3 -3
  121. package/lib/types/Service.d.ts +6 -6
  122. package/lib/types/Storage.d.ts +6 -6
  123. package/lib/types/TokenManager.d.ts +5 -2
  124. package/lib/types/UserClaims.d.ts +1 -1
  125. package/lib/util/types.d.ts +1 -1
  126. package/package.json +9 -10
  127. package/cjs/idx/headers.js +0 -59
  128. package/cjs/idx/headers.js.map +0 -1
  129. package/cjs/idx/idx-js/client.js +0 -91
  130. package/cjs/idx/idx-js/client.js.map +0 -1
  131. package/cjs/idx/idx-js/index.js +0 -40
  132. package/cjs/idx/idx-js/index.js.map +0 -1
  133. package/cjs/idx/idx-js/interact.js +0 -83
  134. package/cjs/idx/idx-js/interact.js.map +0 -1
  135. package/cjs/idx/idx-js/introspect.js +0 -62
  136. package/cjs/idx/idx-js/introspect.js.map +0 -1
  137. package/cjs/idx/idx-js/parsers.js +0 -41
  138. package/cjs/idx/idx-js/parsers.js.map +0 -1
  139. package/cjs/idx/idx-js/util.js +0 -34
  140. package/cjs/idx/idx-js/util.js.map +0 -1
  141. package/cjs/idx/idx-js/v1/actionParser.js.map +0 -1
  142. package/cjs/idx/idx-js/v1/generateIdxAction.js.map +0 -1
  143. package/cjs/idx/idx-js/v1/idxResponseParser.js.map +0 -1
  144. package/cjs/idx/idx-js/v1/makeIdxState.js.map +0 -1
  145. package/cjs/idx/idx-js/v1/parsers.js.map +0 -1
  146. package/cjs/idx/idx-js/v1/remediationParser.js.map +0 -1
  147. package/cjs/options.js +0 -170
  148. package/cjs/options.js.map +0 -1
  149. package/lib/idx/headers.d.ts +0 -16
  150. package/lib/idx/idx-js/client.d.ts +0 -36
  151. package/lib/idx/idx-js/index.d.ts +0 -35
  152. package/lib/idx/idx-js/interact.d.ts +0 -25
  153. package/lib/idx/idx-js/introspect.d.ts +0 -21
  154. package/lib/idx/idx-js/parsers.d.ts +0 -15
  155. package/lib/idx/idx-js/util.d.ts +0 -12
  156. package/lib/options.d.ts +0 -14
@@ -1,4 +1,4 @@
1
- import { Token, Tokens, TokenType, TokenManagerOptions, OktaAuthInterface, TokenManagerErrorEventHandler, TokenManagerEventHandler, TokenManagerInterface, RefreshToken } from './types';
1
+ import { Token, Tokens, TokenType, TokenManagerOptions, OktaAuthInterface, TokenManagerErrorEventHandler, TokenManagerEventHandler, TokenManagerInterface, RefreshToken, AccessTokenCallback, IDTokenCallback, RefreshTokenCallback } from './types';
2
2
  export declare const EVENT_EXPIRED = "expired";
3
3
  export declare const EVENT_RENEWED = "renewed";
4
4
  export declare const EVENT_ADDED = "added";
@@ -37,7 +37,7 @@ export declare class TokenManager implements TokenManagerInterface {
37
37
  getTokens(): Promise<Tokens>;
38
38
  getStorageKeyByType(type: TokenType): string;
39
39
  private getTokenType;
40
- setTokens(tokens: Tokens, accessTokenCb?: Function, idTokenCb?: Function, refreshTokenCb?: Function): void;
40
+ setTokens(tokens: Tokens, accessTokenCb?: AccessTokenCallback, idTokenCb?: IDTokenCallback, refreshTokenCb?: RefreshTokenCallback): void;
41
41
  remove(key: any): void;
42
42
  renewToken(token: any): Promise<Token | undefined>;
43
43
  validateToken(token: Token): void;
@@ -13,5 +13,7 @@ import CustomError from './CustomError';
13
13
  export default class OAuthError extends CustomError {
14
14
  errorCode: string;
15
15
  errorSummary: string;
16
+ error: string;
17
+ error_description: string;
16
18
  constructor(errorCode: string, summary: string);
17
19
  }
@@ -9,5 +9,5 @@
9
9
  *
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
- import * as remediators from '../remediators';
13
- export declare type RemediationFlow = Record<string, typeof remediators.Remediator>;
12
+ import { RemediatorConstructor } from '../remediators';
13
+ export declare type RemediationFlow = Record<string, RemediatorConstructor>;
@@ -0,0 +1,7 @@
1
+ import { OktaAuthInterface } from '../../types';
2
+ import { IdxResponse, RawIdxResponse } from '../types/idx-js';
3
+ export declare const parsersForVersion: (version: any) => {
4
+ makeIdxState: typeof import("./v1/makeIdxState").makeIdxState;
5
+ };
6
+ export declare function validateVersionConfig(version: any): void;
7
+ export declare function makeIdxState(authClient: OktaAuthInterface, rawIdxResponse: RawIdxResponse, toPersist: Record<string, unknown> | undefined, requestDidSucceed: boolean): IdxResponse;
@@ -9,5 +9,7 @@
9
9
  *
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
- declare const generateIdxAction: (actionDefinition: any, toPersist: any) => (params: any) => Promise<import("../../..").IdxResponse>;
12
+ import { OktaAuthInterface } from '../../../types';
13
+ import { IdxActionParams } from '../../types/idx-js';
14
+ declare const generateIdxAction: (authClient: OktaAuthInterface, actionDefinition: any, toPersist: any) => (params?: IdxActionParams) => Promise<IdxResponse>;
13
15
  export default generateIdxAction;
@@ -9,11 +9,12 @@
9
9
  *
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
- export declare const parseNonRemediations: (idxResponse: any, toPersist?: {}) => {
12
+ import { OktaAuthInterface } from '../../../types';
13
+ export declare const parseNonRemediations: (authClient: OktaAuthInterface, idxResponse: any, toPersist?: {}) => {
13
14
  context: {};
14
15
  actions: {};
15
16
  };
16
- export declare const parseIdxResponse: (idxResponse: any, toPersist?: {}) => {
17
+ export declare const parseIdxResponse: (authClient: OktaAuthInterface, idxResponse: any, toPersist?: {}) => {
17
18
  remediations: IdxRemediation[];
18
19
  context: any;
19
20
  actions: any;
@@ -9,5 +9,6 @@
9
9
  *
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
- import { IdxResponse, RawIdxResponse } from '../../types/idx-js';
13
- export declare function makeIdxState(idxResponse: RawIdxResponse, toPersist: any, requestDidSucceed: boolean): IdxResponse;
12
+ import { IdxResponse } from '../../types/idx-js';
13
+ import { OktaAuthInterface, RawIdxResponse } from '../../../types';
14
+ export declare function makeIdxState(authClient: OktaAuthInterface, idxResponse: RawIdxResponse, toPersist: any, requestDidSucceed: boolean): IdxResponse;
File without changes
@@ -9,4 +9,5 @@
9
9
  *
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
- export declare const generateRemediationFunctions: (remediationValue: any, toPersist?: {}) => any;
12
+ import { OktaAuthInterface } from '../../../types';
13
+ export declare const generateRemediationFunctions: (authClient: OktaAuthInterface, remediationValue: any, toPersist?: {}) => any;
@@ -1,3 +1,14 @@
1
+ /*!
2
+ * Copyright (c) 2021, Okta, Inc. and/or its affiliates. All rights reserved.
3
+ * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
4
+ *
5
+ * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
6
+ * Unless required by applicable law or agreed to in writing, software
7
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
8
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ *
10
+ * See the License for the specific language governing permissions and limitations under the License.
11
+ */
1
12
  import { OktaAuthInterface, IdxTransactionMeta } from '../types';
2
13
  export interface InteractOptions {
3
14
  withCredentials?: boolean;
@@ -14,4 +25,15 @@ export interface InteractResponse {
14
25
  interactionHandle: string;
15
26
  meta: IdxTransactionMeta;
16
27
  }
28
+ export interface InteractParams {
29
+ client_id: string;
30
+ scope: string;
31
+ redirect_uri: string;
32
+ code_challenge: string;
33
+ code_challenge_method: string;
34
+ state: string;
35
+ activation_token?: string;
36
+ recovery_token?: string;
37
+ client_secret?: string;
38
+ }
17
39
  export declare function interact(authClient: OktaAuthInterface, options?: InteractOptions): Promise<InteractResponse>;
@@ -9,23 +9,20 @@
9
9
  *
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
- import { Remediator, RemediationValues } from './remediators';
13
- import { NextStep, IdxMessage, FlowIdentifier } from './types';
12
+ import { RemediationValues } from './remediators';
13
+ import { FlowIdentifier, RemediationResponse } from './types';
14
14
  import { RemediationFlow } from './flow';
15
- import { IdxResponse, IdxRemediation } from './types/idx-js';
16
- interface RemediationResponse {
17
- idxResponse: IdxResponse;
18
- nextStep?: NextStep;
19
- messages?: IdxMessage[];
20
- terminal?: boolean;
21
- canceled?: boolean;
15
+ import { IdxResponse, IdxActionParams } from './types/idx-js';
16
+ export interface RemediateActionWithOptionalParams {
17
+ name: string;
18
+ params?: IdxActionParams;
22
19
  }
20
+ export declare type RemediateAction = string | RemediateActionWithOptionalParams;
23
21
  export interface RemediateOptions {
24
22
  remediators?: RemediationFlow;
25
- actions?: string[];
23
+ actions?: RemediateAction[];
26
24
  flow?: FlowIdentifier;
27
25
  step?: string;
26
+ shouldProceedWithEmailAuthenticator?: boolean;
28
27
  }
29
- export declare function getRemediator(idxRemediations: IdxRemediation[], values: RemediationValues, options: RemediateOptions): Remediator | undefined;
30
28
  export declare function remediate(idxResponse: IdxResponse, values: RemediationValues, options: RemediateOptions): Promise<RemediationResponse>;
31
- export {};
@@ -14,9 +14,8 @@ export declare type AuthenticatorEnrollmentDataValues = AuthenticatorDataValues
14
14
  phoneNumber?: string;
15
15
  resend?: boolean;
16
16
  };
17
- export declare class AuthenticatorEnrollmentData extends AuthenticatorData {
17
+ export declare class AuthenticatorEnrollmentData extends AuthenticatorData<AuthenticatorEnrollmentDataValues> {
18
18
  static remediationName: string;
19
- values: AuthenticatorEnrollmentDataValues;
20
19
  mapAuthenticator(): {
21
20
  id: string | import("../types/idx-js").IdxRemediationValueForm | undefined;
22
21
  methodType: string | undefined;
@@ -11,12 +11,12 @@
11
11
  */
12
12
  import { AuthenticatorData, AuthenticatorDataValues } from './Base/AuthenticatorData';
13
13
  import { IdxRemediation } from '../types/idx-js';
14
+ import { RemediateOptions } from '../remediate';
14
15
  export declare type AuthenticatorVerificationDataValues = AuthenticatorDataValues;
15
- export declare class AuthenticatorVerificationData extends AuthenticatorData {
16
+ export declare class AuthenticatorVerificationData extends AuthenticatorData<AuthenticatorVerificationDataValues> {
16
17
  static remediationName: string;
17
- values: AuthenticatorVerificationDataValues;
18
18
  shouldProceedWithEmailAuthenticator: boolean;
19
- constructor(remediation: IdxRemediation, values?: AuthenticatorDataValues);
19
+ constructor(remediation: IdxRemediation, values?: AuthenticatorDataValues, options?: RemediateOptions);
20
20
  canRemediate(): boolean;
21
21
  mapAuthenticator(): {} | undefined;
22
22
  getInputAuthenticator(): import("../types/idx-js").IdxRemediationValue[] | {
@@ -14,10 +14,9 @@ import { IdxRemediationValue, IdxOption, IdxRemediation, IdxAuthenticator } from
14
14
  export declare type AuthenticatorDataValues = RemediationValues & {
15
15
  methodType?: string;
16
16
  };
17
- export declare class AuthenticatorData extends Remediator {
18
- values: AuthenticatorDataValues;
17
+ export declare class AuthenticatorData<T extends AuthenticatorDataValues = AuthenticatorDataValues> extends Remediator<T> {
19
18
  authenticator: IdxAuthenticator;
20
- constructor(remediation: IdxRemediation, values?: AuthenticatorDataValues);
19
+ constructor(remediation: IdxRemediation, values?: T);
21
20
  protected formatAuthenticatorData(): void;
22
21
  protected getAuthenticatorData(): import("../../types").Authenticator | undefined;
23
22
  canRemediate(): boolean;
@@ -34,5 +33,5 @@ export declare class AuthenticatorData extends Remediator {
34
33
  protected mapAuthenticatorDataFromValues(authenticatorData?: any): any;
35
34
  protected getAuthenticatorFromRemediation(): IdxRemediationValue;
36
35
  private getMethodTypes;
37
- getValuesAfterProceed(): RemediationValues;
36
+ getValuesAfterProceed(): T;
38
37
  }
@@ -17,14 +17,18 @@ export interface RemediationValues extends IdxOptions {
17
17
  authenticators?: (Authenticator | string)[];
18
18
  authenticator?: string | Authenticator;
19
19
  authenticatorsData?: Authenticator[];
20
+ resend?: boolean;
20
21
  }
21
- export declare class Remediator {
22
+ export interface RemediatorConstructor {
23
+ new <T extends RemediationValues>(remediation: IdxRemediation, values?: T, options?: RemediateOptions): any;
24
+ }
25
+ export declare class Remediator<T extends RemediationValues = RemediationValues> {
22
26
  static remediationName: string;
23
27
  remediation: IdxRemediation;
24
- values: RemediationValues;
28
+ values: T;
25
29
  options: RemediateOptions;
26
30
  map?: IdxToRemediationValueMap;
27
- constructor(remediation: IdxRemediation, values?: RemediationValues, options?: RemediateOptions);
31
+ constructor(remediation: IdxRemediation, values?: T, options?: RemediateOptions);
28
32
  private formatAuthenticators;
29
33
  getName(): string;
30
34
  canRemediate(): boolean;
@@ -33,6 +37,6 @@ export declare class Remediator {
33
37
  getNextStep(_context?: IdxContext): NextStep;
34
38
  private getInputs;
35
39
  static getMessages(remediation: IdxRemediation): IdxMessage[] | undefined;
36
- getValuesAfterProceed(): RemediationValues;
40
+ getValuesAfterProceed(): T;
37
41
  protected getAuthenticator(): IdxAuthenticator | undefined;
38
42
  }
@@ -15,8 +15,7 @@ import { Authenticator } from '../../types';
15
15
  export declare type SelectAuthenticatorValues = RemediationValues & {
16
16
  authenticator?: string | Authenticator;
17
17
  };
18
- export declare class SelectAuthenticator extends Remediator {
19
- values: SelectAuthenticatorValues;
18
+ export declare class SelectAuthenticator<T extends SelectAuthenticatorValues = SelectAuthenticatorValues> extends Remediator<T> {
20
19
  selectedAuthenticator?: Authenticator;
21
20
  selectedOption?: any;
22
21
  findMatchedOption(authenticators: any, options: any): any;
@@ -41,5 +40,5 @@ export declare class SelectAuthenticator extends Remediator {
41
40
  name: string;
42
41
  key: string;
43
42
  };
44
- getValuesAfterProceed(): RemediationValues;
43
+ getValuesAfterProceed(): T;
45
44
  }
@@ -14,13 +14,12 @@ import { Authenticator, AuthenticatorValues } from '../../authenticator';
14
14
  import { IdxRemediation, IdxContext } from '../../types/idx-js';
15
15
  import { NextStep } from '../../types';
16
16
  export declare type VerifyAuthenticatorValues = AuthenticatorValues & RemediationValues;
17
- export declare class VerifyAuthenticator extends Remediator {
17
+ export declare class VerifyAuthenticator<T extends VerifyAuthenticatorValues = VerifyAuthenticatorValues> extends Remediator<T> {
18
18
  authenticator: Authenticator<VerifyAuthenticatorValues>;
19
- values: VerifyAuthenticatorValues;
20
- constructor(remediation: IdxRemediation, values?: VerifyAuthenticatorValues);
19
+ constructor(remediation: IdxRemediation, values?: T);
21
20
  getNextStep(context?: IdxContext): NextStep;
22
21
  canRemediate(): boolean;
23
22
  mapCredentials(): import("../../authenticator").Credentials | undefined;
24
23
  getInputCredentials(input: any): any;
25
- getValuesAfterProceed(): VerifyAuthenticatorValues;
24
+ getValuesAfterProceed(): T;
26
25
  }
@@ -11,7 +11,6 @@
11
11
  */
12
12
  import { VerifyAuthenticator, VerifyAuthenticatorValues } from './Base/VerifyAuthenticator';
13
13
  export declare type ChallengeAuthenticatorValues = VerifyAuthenticatorValues;
14
- export declare class ChallengeAuthenticator extends VerifyAuthenticator {
14
+ export declare class ChallengeAuthenticator extends VerifyAuthenticator<ChallengeAuthenticatorValues> {
15
15
  static remediationName: string;
16
- values: ChallengeAuthenticatorValues;
17
16
  }
@@ -11,7 +11,6 @@
11
11
  */
12
12
  import { VerifyAuthenticator, VerifyAuthenticatorValues } from './Base/VerifyAuthenticator';
13
13
  export declare type EnrollAuthenticatorValues = VerifyAuthenticatorValues;
14
- export declare class EnrollAuthenticator extends VerifyAuthenticator {
14
+ export declare class EnrollAuthenticator extends VerifyAuthenticator<EnrollAuthenticatorValues> {
15
15
  static remediationName: string;
16
- values: EnrollAuthenticatorValues;
17
16
  }
@@ -15,9 +15,8 @@ import { IdxContext } from '../types/idx-js';
15
15
  export interface EnrollPollValues extends RemediationValues {
16
16
  startPolling?: boolean;
17
17
  }
18
- export declare class EnrollPoll extends Remediator {
18
+ export declare class EnrollPoll extends Remediator<EnrollPollValues> {
19
19
  static remediationName: string;
20
- values: EnrollPollValues;
21
20
  canRemediate(): boolean;
22
21
  getNextStep(context?: IdxContext): NextStep;
23
22
  getValuesAfterProceed(): EnrollPollValues;
@@ -15,9 +15,8 @@ export interface EnrollProfileValues extends RemediationValues {
15
15
  lastName?: string;
16
16
  email?: string;
17
17
  }
18
- export declare class EnrollProfile extends Remediator {
18
+ export declare class EnrollProfile extends Remediator<EnrollProfileValues> {
19
19
  static remediationName: string;
20
- values: EnrollProfileValues;
21
20
  canRemediate(): boolean;
22
21
  mapUserProfile({ form: { value: profileAttributes } }: {
23
22
  form: {
@@ -15,9 +15,8 @@ export declare type EnrollmentChannelDataValues = RemediationValues & {
15
15
  email?: string;
16
16
  phoneNumber?: string;
17
17
  };
18
- export declare class EnrollmentChannelData extends Remediator {
18
+ export declare class EnrollmentChannelData extends Remediator<EnrollmentChannelDataValues> {
19
19
  static remediationName: string;
20
- values: EnrollmentChannelDataValues;
21
20
  getInputEmail(): {
22
21
  name: string;
23
22
  type: string;
@@ -16,9 +16,8 @@ export interface IdentifyValues extends RemediationValues {
16
16
  password?: string;
17
17
  credentials?: Credentials;
18
18
  }
19
- export declare class Identify extends Remediator {
19
+ export declare class Identify extends Remediator<IdentifyValues> {
20
20
  static remediationName: string;
21
- values: IdentifyValues;
22
21
  map: {
23
22
  identifier: string[];
24
23
  };
@@ -13,9 +13,8 @@ import { Remediator, RemediationValues } from './Base/Remediator';
13
13
  export interface ReEnrollAuthenticatorValues extends RemediationValues {
14
14
  newPassword?: string;
15
15
  }
16
- export declare class ReEnrollAuthenticator extends Remediator {
16
+ export declare class ReEnrollAuthenticator extends Remediator<ReEnrollAuthenticatorValues> {
17
17
  static remediationName: string;
18
- values: ReEnrollAuthenticatorValues;
19
18
  mapCredentials(): {
20
19
  passcode: string;
21
20
  } | undefined;
@@ -11,7 +11,6 @@
11
11
  */
12
12
  import { VerifyAuthenticator, VerifyAuthenticatorValues } from './Base/VerifyAuthenticator';
13
13
  export declare type ResetAuthenticatorValues = VerifyAuthenticatorValues;
14
- export declare class ResetAuthenticator extends VerifyAuthenticator {
14
+ export declare class ResetAuthenticator extends VerifyAuthenticator<ResetAuthenticatorValues> {
15
15
  static remediationName: string;
16
- values: ResetAuthenticatorValues;
17
16
  }
@@ -15,8 +15,7 @@ import { RemediateOptions } from '../types';
15
15
  export declare type SelectAuthenticatorAuthenticateValues = SelectAuthenticatorValues & {
16
16
  password?: string;
17
17
  };
18
- export declare class SelectAuthenticatorAuthenticate extends SelectAuthenticator {
18
+ export declare class SelectAuthenticatorAuthenticate extends SelectAuthenticator<SelectAuthenticatorAuthenticateValues> {
19
19
  static remediationName: string;
20
- values: SelectAuthenticatorAuthenticateValues;
21
20
  constructor(remediation: IdxRemediation, values?: SelectAuthenticatorValues, options?: RemediateOptions);
22
21
  }
@@ -11,7 +11,6 @@
11
11
  */
12
12
  import { SelectAuthenticator, SelectAuthenticatorValues } from './Base/SelectAuthenticator';
13
13
  export declare type SelectAuthenticatorEnrollValues = SelectAuthenticatorValues;
14
- export declare class SelectAuthenticatorEnroll extends SelectAuthenticator {
14
+ export declare class SelectAuthenticatorEnroll extends SelectAuthenticator<SelectAuthenticatorEnrollValues> {
15
15
  static remediationName: string;
16
- values: SelectAuthenticatorEnrollValues;
17
16
  }
@@ -16,9 +16,8 @@ export declare type SelectAuthenticatorUnlockAccountValues = SelectAuthenticator
16
16
  identifier?: string;
17
17
  methodType?: string;
18
18
  };
19
- export declare class SelectAuthenticatorUnlockAccount extends SelectAuthenticator {
19
+ export declare class SelectAuthenticatorUnlockAccount extends SelectAuthenticator<SelectAuthenticatorUnlockAccountValues> {
20
20
  static remediationName: string;
21
- values: SelectAuthenticatorUnlockAccountValues;
22
21
  authenticator?: Authenticator;
23
22
  map: {
24
23
  identifier: string[];
@@ -12,8 +12,7 @@
12
12
  import { Remediator, RemediationValues } from './Base/Remediator';
13
13
  export interface SelectEnrollProfileValues extends RemediationValues {
14
14
  }
15
- export declare class SelectEnrollProfile extends Remediator {
15
+ export declare class SelectEnrollProfile extends Remediator<SelectEnrollProfileValues> {
16
16
  static remediationName: string;
17
- values: SelectEnrollProfileValues;
18
17
  canRemediate(): boolean;
19
18
  }
@@ -14,9 +14,8 @@ import { IdxRemediationValueForm, IdxOption, IdxContext } from '../types/idx-js'
14
14
  export declare type SelectEnrollmentChannelValues = RemediationValues & {
15
15
  channel?: string;
16
16
  };
17
- export declare class SelectEnrollmentChannel extends Remediator {
17
+ export declare class SelectEnrollmentChannel extends Remediator<SelectEnrollmentChannelValues> {
18
18
  static remediationName: string;
19
- values: SelectEnrollmentChannelValues;
20
19
  canRemediate(): boolean;
21
20
  getNextStep(context: IdxContext): {
22
21
  authenticator: import("../types/idx-js").IdxAuthenticator;
@@ -13,8 +13,7 @@ import { Remediator, RemediationValues } from './Base/Remediator';
13
13
  export interface SkipValues extends RemediationValues {
14
14
  skip?: boolean;
15
15
  }
16
- export declare class Skip extends Remediator {
16
+ export declare class Skip extends Remediator<SkipValues> {
17
17
  static remediationName: string;
18
- values: SkipValues;
19
18
  canRemediate(): boolean;
20
19
  }
@@ -146,7 +146,7 @@ export interface IdxContext {
146
146
  type: string;
147
147
  value: IdxAuthenticator;
148
148
  };
149
- user: {
149
+ user?: {
150
150
  type: string;
151
151
  value: Record<string, unknown>;
152
152
  };
@@ -184,8 +184,11 @@ export interface RawIdxResponse {
184
184
  successWithInteractionCode?: IdxRemediation;
185
185
  }
186
186
  export declare function isRawIdxResponse(obj: any): obj is RawIdxResponse;
187
+ export interface IdxActionParams {
188
+ [key: string]: string | boolean | number;
189
+ }
187
190
  export interface IdxActions {
188
- [key: string]: () => Promise<IdxResponse>;
191
+ [key: string]: (params?: IdxActionParams) => Promise<IdxResponse>;
189
192
  }
190
193
  export interface IdxResponse {
191
194
  proceed: (remediationName: string, params: unknown) => Promise<IdxResponse>;
@@ -15,19 +15,19 @@ import { APIError, Tokens } from '../../types';
15
15
  import { PKCETransactionMeta } from '../../types/Transaction';
16
16
  import { IdxActions, IdxAuthenticator, IdxContext, IdxForm, IdxMessage, IdxOption, IdxRemediation, IdxResponse, RawIdxResponse } from './idx-js';
17
17
  import { FlowIdentifier } from './FlowIdentifier';
18
- export { IdxMessage, IdxMessages, ChallengeData, ActivationData, IdxResponse, IdxContext, RawIdxResponse } from './idx-js';
19
- export { AuthenticationOptions } from '../authenticate';
20
- export { RegistrationOptions } from '../register';
21
- export { PasswordRecoveryOptions } from '../recoverPassword';
22
- export { AccountUnlockOptions } from '../unlockAccount';
23
- export { ProceedOptions } from '../proceed';
24
- export { CancelOptions } from '../cancel';
25
- export { RemediateOptions } from '../remediate';
26
- export { FlowIdentifier };
27
- export { IdxAuthenticator };
28
- export { EmailVerifyCallbackResponse } from '../emailVerify';
29
- export { WebauthnEnrollValues } from '../authenticator/WebauthnEnrollment';
30
- export { WebauthnVerificationValues } from '../authenticator/WebauthnVerification';
18
+ export type { IdxMessage, IdxMessages, ChallengeData, ActivationData, IdxResponse, IdxContext, RawIdxResponse } from './idx-js';
19
+ export type { AuthenticationOptions } from '../authenticate';
20
+ export type { RegistrationOptions } from '../register';
21
+ export type { PasswordRecoveryOptions } from '../recoverPassword';
22
+ export type { AccountUnlockOptions } from '../unlockAccount';
23
+ export type { ProceedOptions } from '../proceed';
24
+ export type { CancelOptions } from '../cancel';
25
+ export type { RemediateOptions } from '../remediate';
26
+ export type { FlowIdentifier };
27
+ export type { IdxAuthenticator };
28
+ export type { EmailVerifyCallbackResponse } from '../emailVerify';
29
+ export type { WebauthnEnrollValues } from '../authenticator/WebauthnEnrollment';
30
+ export type { WebauthnVerificationValues } from '../authenticator/WebauthnVerification';
31
31
  export declare enum IdxStatus {
32
32
  SUCCESS = "SUCCESS",
33
33
  PENDING = "PENDING",
@@ -46,6 +46,7 @@ export declare enum AuthenticatorKey {
46
46
  }
47
47
  export declare type Input = {
48
48
  name: string;
49
+ key?: string;
49
50
  type?: string;
50
51
  label?: string;
51
52
  value?: string | {
@@ -56,6 +57,10 @@ export declare type Input = {
56
57
  secret?: boolean;
57
58
  required?: boolean;
58
59
  };
60
+ export interface IdxPollOptions {
61
+ required?: boolean;
62
+ refresh?: number;
63
+ }
59
64
  export declare type NextStep = {
60
65
  name: string;
61
66
  authenticator?: IdxAuthenticator;
@@ -89,6 +94,7 @@ export interface IdxTransaction {
89
94
  meta?: IdxTransactionMeta;
90
95
  enabledFeatures?: IdxFeature[];
91
96
  availableSteps?: NextStep[];
97
+ requestDidSucceed?: boolean;
92
98
  proceed: (remediationName: string, params: unknown) => Promise<IdxResponse>;
93
99
  neededToProceed: IdxRemediation[];
94
100
  rawIdxState: RawIdxResponse;
@@ -102,10 +108,6 @@ export declare type IdxOptions = InteractOptions & IntrospectOptions & {
102
108
  autoRemediate?: boolean;
103
109
  step?: string;
104
110
  };
105
- export interface IdxPollOptions {
106
- required?: boolean;
107
- refresh?: number;
108
- }
109
111
  export declare type Authenticator = {
110
112
  id?: string;
111
113
  key?: string;
@@ -113,3 +115,10 @@ export declare type Authenticator = {
113
115
  phoneNumber?: string;
114
116
  };
115
117
  export declare function isAuthenticator(obj: any): obj is Authenticator;
118
+ export interface RemediationResponse {
119
+ idxResponse: IdxResponse;
120
+ nextStep?: NextStep;
121
+ messages?: IdxMessage[];
122
+ terminal?: boolean;
123
+ canceled?: boolean;
124
+ }
package/lib/idx/util.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { RemediationValues } from './remediators';
2
- import { IdxFeature, NextStep } from './types';
3
- import { IdxMessage, IdxRemediationValue, IdxResponse } from './types/idx-js';
1
+ import { RemediationValues, Remediator } from './remediators';
2
+ import { IdxFeature, NextStep, RemediateOptions, RemediationResponse } from './types';
3
+ import { IdxMessage, IdxRemediation, IdxRemediationValue, IdxResponse } from './types/idx-js';
4
4
  export declare function isTerminalResponse(idxResponse: IdxResponse): boolean;
5
5
  export declare function canSkipFn(idxResponse: IdxResponse): boolean;
6
6
  export declare function canResendFn(idxResponse: IdxResponse): boolean;
@@ -8,4 +8,7 @@ export declare function getMessagesFromIdxRemediationValue(value?: IdxRemediatio
8
8
  export declare function getMessagesFromResponse(idxResponse: IdxResponse): IdxMessage[];
9
9
  export declare function getEnabledFeatures(idxResponse: IdxResponse): IdxFeature[];
10
10
  export declare function getAvailableSteps(idxResponse: IdxResponse): NextStep[];
11
- export declare function filterValuesForRemediation(idxResponse: IdxResponse, values: RemediationValues): RemediationValues;
11
+ export declare function filterValuesForRemediation(idxResponse: IdxResponse, remediationName: string, values: RemediationValues): RemediationValues;
12
+ export declare function getRemediator(idxRemediations: IdxRemediation[], values: RemediationValues, options: RemediateOptions): Remediator | undefined;
13
+ export declare function getNextStep(remediator: Remediator, idxResponse: IdxResponse): NextStep;
14
+ export declare function handleIdxError(e: any, remediator?: any): RemediationResponse;
@@ -10,8 +10,8 @@
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
12
  export declare class EventEmitter {
13
- on(event: string, callback: Function, ctx?: any): EventEmitter;
14
- once(event: string, callback: Function, ctx?: any): EventEmitter;
13
+ on(event: string, callback: (...args: any[]) => any, ctx?: any): EventEmitter;
14
+ once(event: string, callback: (...args: any[]) => any, ctx?: any): EventEmitter;
15
15
  emit(event: string, ...args: any[]): EventEmitter;
16
- off(event: string, callback?: Function): EventEmitter;
16
+ off(event: string, callback?: (...args: any[]) => any): EventEmitter;
17
17
  }
@@ -1,9 +1,3 @@
1
- export interface ServiceManagerInterface {
2
- isLeader(): boolean;
3
- start(): void;
4
- stop(): void;
5
- getService(name: string): ServiceInterface | undefined;
6
- }
7
1
  export interface ServiceInterface {
8
2
  start(): void;
9
3
  stop(): void;
@@ -11,6 +5,12 @@ export interface ServiceInterface {
11
5
  canStart(): boolean;
12
6
  requiresLeadership(): boolean;
13
7
  }
8
+ export interface ServiceManagerInterface {
9
+ isLeader(): boolean;
10
+ start(): void;
11
+ stop(): void;
12
+ getService(name: string): ServiceInterface | undefined;
13
+ }
14
14
  export interface AutoRenewServiceOptions {
15
15
  autoRenew?: boolean;
16
16
  autoRemove?: boolean;
@@ -48,6 +48,7 @@ export interface IdxResponseStorage extends StorageProvider {
48
48
  setStorage(obj: SavedIdxResponse): void;
49
49
  getStorage(): SavedIdxResponse;
50
50
  }
51
+ export declare type StorageType = 'memory' | 'sessionStorage' | 'localStorage' | 'cookie' | 'custom' | 'auto';
51
52
  export interface StorageOptions extends CookieOptions {
52
53
  storageType?: StorageType;
53
54
  storageTypes?: StorageType[];
@@ -55,13 +56,17 @@ export interface StorageOptions extends CookieOptions {
55
56
  storageKey?: string;
56
57
  useSeparateCookies?: boolean;
57
58
  }
58
- export declare type StorageType = 'memory' | 'sessionStorage' | 'localStorage' | 'cookie' | 'custom' | 'auto';
59
59
  export interface StorageUtil {
60
60
  storage: TxStorage;
61
61
  testStorageType(storageType: StorageType): boolean;
62
62
  getStorageByType(storageType: StorageType, options?: StorageOptions): SimpleStorage;
63
63
  findStorageType(types: StorageType[]): StorageType;
64
64
  }
65
+ export interface CookieStorage extends SimpleStorage {
66
+ setItem(key: string, value: any, expiresAt?: string | null): void;
67
+ getItem(key?: string): any;
68
+ removeItem(key: string): any;
69
+ }
65
70
  export interface BrowserStorageUtil extends StorageUtil {
66
71
  browserHasLocalStorage(): boolean;
67
72
  browserHasSessionStorage(): boolean;
@@ -80,11 +85,6 @@ export interface NodeStorageUtil extends StorageUtil {
80
85
  getHttpCache(options?: StorageOptions): StorageProvider;
81
86
  getStorage(): SimpleStorage;
82
87
  }
83
- export interface CookieStorage extends SimpleStorage {
84
- setItem(key: string, value: any, expiresAt?: string | null): void;
85
- getItem(key?: string): any;
86
- removeItem(key: string): any;
87
- }
88
88
  export interface StorageManagerOptions {
89
89
  token?: StorageOptions;
90
90
  transaction?: StorageOptions;