@azure/msal-browser
Version:
Microsoft Authentication Library for js
107 lines (104 loc) • 5.19 kB
JavaScript
/*! @azure/msal-browser v5.10.1 2026-05-11 */
'use strict';
import { ResetPasswordResendCodeResult } from '../result/ResetPasswordResendCodeResult.mjs';
import { ResetPasswordSubmitCodeResult } from '../result/ResetPasswordSubmitCodeResult.mjs';
import { ResetPasswordState } from './ResetPasswordState.mjs';
import { ResetPasswordPasswordRequiredState } from './ResetPasswordPasswordRequiredState.mjs';
import { RESET_PASSWORD_CODE_REQUIRED_STATE_TYPE } from '../../../core/auth_flow/AuthFlowStateTypes.mjs';
/*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License.
*/
/*
* Reset password code required state.
*/
class ResetPasswordCodeRequiredState extends ResetPasswordState {
constructor() {
super(...arguments);
/**
* The type of the state.
*/
this.stateType = RESET_PASSWORD_CODE_REQUIRED_STATE_TYPE;
}
/**
* Submits a one-time passcode that the customer user received in their email in order to continue password reset flow.
* @param {string} code - The code to submit.
* @returns {Promise<ResetPasswordSubmitCodeResult>} The result of the operation.
*/
async submitCode(code) {
try {
this.ensureCodeIsValid(code, this.stateParameters.codeLength);
this.stateParameters.logger.verbose("0eno3c", this.stateParameters.correlationId);
const result = await this.stateParameters.resetPasswordClient.submitCode({
clientId: this.stateParameters.config.auth.clientId,
correlationId: this.stateParameters.correlationId,
challengeType: this.stateParameters.config.customAuth.challengeTypes ??
[],
continuationToken: this.stateParameters.continuationToken ?? "",
code: code,
username: this.stateParameters.username,
});
this.stateParameters.logger.verbose("1pdlyx", this.stateParameters.correlationId);
return new ResetPasswordSubmitCodeResult(new ResetPasswordPasswordRequiredState({
correlationId: result.correlationId,
continuationToken: result.continuationToken,
logger: this.stateParameters.logger,
config: this.stateParameters.config,
resetPasswordClient: this.stateParameters.resetPasswordClient,
signInClient: this.stateParameters.signInClient,
cacheClient: this.stateParameters.cacheClient,
jitClient: this.stateParameters.jitClient,
mfaClient: this.stateParameters.mfaClient,
username: this.stateParameters.username,
}));
}
catch (error) {
this.stateParameters.logger.errorPii("1wtelk", this.stateParameters.correlationId);
return ResetPasswordSubmitCodeResult.createWithError(error);
}
}
/**
* Resends another one-time passcode if the previous one hasn't been verified
* @returns {Promise<ResetPasswordResendCodeResult>} The result of the operation.
*/
async resendCode() {
try {
this.stateParameters.logger.verbose("13fdb0", this.stateParameters.correlationId);
const result = await this.stateParameters.resetPasswordClient.resendCode({
clientId: this.stateParameters.config.auth.clientId,
challengeType: this.stateParameters.config.customAuth.challengeTypes ??
[],
username: this.stateParameters.username,
correlationId: this.stateParameters.correlationId,
continuationToken: this.stateParameters.continuationToken ?? "",
});
this.stateParameters.logger.verbose("01cakn", this.stateParameters.correlationId);
return new ResetPasswordResendCodeResult(new ResetPasswordCodeRequiredState({
correlationId: result.correlationId,
continuationToken: result.continuationToken,
logger: this.stateParameters.logger,
config: this.stateParameters.config,
resetPasswordClient: this.stateParameters.resetPasswordClient,
signInClient: this.stateParameters.signInClient,
cacheClient: this.stateParameters.cacheClient,
jitClient: this.stateParameters.jitClient,
mfaClient: this.stateParameters.mfaClient,
username: this.stateParameters.username,
codeLength: result.codeLength,
}));
}
catch (error) {
this.stateParameters.logger.errorPii("1vyfic", this.stateParameters.correlationId);
return ResetPasswordResendCodeResult.createWithError(error);
}
}
/**
* Gets the sent code length.
* @returns {number} The length of the code.
*/
getCodeLength() {
return this.stateParameters.codeLength;
}
}
export { ResetPasswordCodeRequiredState };
//# sourceMappingURL=ResetPasswordCodeRequiredState.mjs.map