Okta登录后跳转至Okta控制台而非应用首页问题排查
问题:Okta登录后跳转至Okta控制台而非应用首页
我刚开始学习Okta认证相关技术,在我的应用中使用Okta登录后,页面会跳转至Okta控制台而非应用首页。已确认前端和后端完成认证并返回token,但怀疑是Okta控制台中缺少某个配置步骤导致跳转异常。
前端代码
"use client"; import userAuthCookie from "@/browsers/cookies/userAuthCookie"; import userAuthLocalStorage from "@/browsers/local-storage/userAuthLocalStorage"; import { AUTH_PROVIDER_TYPE } from "@/constants/auth"; import { API_BASE_URL } from "@/constants/environments"; import { oktaSDK, oktaSettings } from "@/constants/okta"; import ROUTES from "@/constants/paths"; import executeAsync from "@/helpers/async-helpers/executeAsync"; import apiClient from "@/http/instances/apiClient"; import type { UserAuthData } from "@/types"; import { useEffect, useState } from "react"; const storeAuthData = (data: UserAuthData) => { userAuthCookie.set(data); userAuthLocalStorage.set(data, true); }; const navigateToHome = () => { if (typeof window === "undefined") return; window.location.replace(ROUTES.home); }; const navigateToLoginPage = () => { if (typeof window === "undefined") return; window.location.replace(ROUTES.login); }; export default function FetchOktaTokenAndRedirect({ code, state, }: { code?: string; state?: string; }) { const [isComponentMounted, setComponentMounted] = useState(false); useEffect(() => { if (!isComponentMounted) { setComponentMounted(true); return; } if (!code || !state) return; const retrieveOktaAuthAndStoreData = async () => { const [prepareError, tokenSettings] = await executeAsync( oktaSDK.token.prepareTokenParams() ); if (prepareError || !tokenSettings) { return; } const [tokenError, authResponse] = await executeAsync( apiClient.post(`${API_BASE_URL}/login-with-okta`, { redirect_uri: oktaSettings.oidc.redirectUri, code_verifier: tokenSettings.codeVerifier, code: code, }) ); if (tokenError || !authResponse?.data?.data?.token) { navigateToLoginPage(); return; } const userAuthData: UserAuthData = { provider: AUTH_PROVIDER_TYPE.OKTA, ssoAccessToken: "", accessToken: authResponse?.data?.data?.token, refreshToken: "", expiredIn: 1924556038, }; storeAuthData(userAuthData); navigateToHome(); }; retrieveOktaAuthAndStoreData(); }, [isComponentMounted, code, state]); return <></>; }
Okta控制台配置截图



内容的提问来源于stack exchange,提问作者do hai
相关产品推荐
相关产品推荐

