UNPKG

@okta/okta-auth-js

Version:
47 lines (43 loc) 1.88 kB
/*! * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved. * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.") * * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0. * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * * See the License for the specific language governing permissions and limitations under the License. */ import CustomError from '../errors/CustomError.js'; import { urlParamsToObject } from '../oidc/util/urlParams.js'; class EmailVerifyCallbackError extends CustomError { constructor(state, otp) { super(`Enter the OTP code in the originating client: ${otp}`); this.name = 'EmailVerifyCallbackError'; this.state = state; this.otp = otp; } } function isEmailVerifyCallbackError(error) { return (error.name === 'EmailVerifyCallbackError'); } function isEmailVerifyCallback(urlPath) { return /(otp=)/i.test(urlPath) && /(state=)/i.test(urlPath); } function parseEmailVerifyCallback(urlPath) { return urlParamsToObject(urlPath); } async function handleEmailVerifyCallback(authClient, search) { if (isEmailVerifyCallback(search)) { const { state, otp } = parseEmailVerifyCallback(search); if (authClient.idx.canProceed({ state })) { return await authClient.idx.proceed({ state, otp }); } else { throw new EmailVerifyCallbackError(state, otp); } } } export { EmailVerifyCallbackError, handleEmailVerifyCallback, isEmailVerifyCallback, isEmailVerifyCallbackError, parseEmailVerifyCallback }; //# sourceMappingURL=emailVerify.js.map