1
0
forked from baron/baron-sso

SSO 로그인 방식을 팝업 기반으로 변경

This commit is contained in:
2026-02-25 09:09:18 +09:00
parent 19f5096470
commit 3423178250
4 changed files with 20 additions and 5 deletions

View File

@@ -1,12 +1,19 @@
import { useEffect } from "react";
import { useAuth } from "react-oidc-context";
import { useNavigate } from "react-router-dom";
import { userManager } from "../../lib/auth";
export default function AuthCallbackPage() {
const auth = useAuth();
const navigate = useNavigate();
useEffect(() => {
// 팝업으로 열린 경우 signinPopupCallback 처리
if (window.opener) {
userManager.signinPopupCallback();
return;
}
if (auth.isAuthenticated) {
navigate("/", { replace: true });
} else if (auth.error) {

View File

@@ -1,5 +1,6 @@
import { ExternalLink, LogIn, ShieldHalf } from "lucide-react";
import { useAuth } from "react-oidc-context";
import { useNavigate } from "react-router-dom";
import { Button } from "../../components/ui/button";
import {
Card,
@@ -11,10 +12,15 @@ import {
function LoginPage() {
const auth = useAuth();
const navigate = useNavigate();
const handleSSOLogin = () => {
// OIDC client-side authentication flow started here
auth.signinRedirect();
const handleSSOLogin = async () => {
try {
await auth.signinPopup();
navigate("/clients", { replace: true });
} catch (error) {
console.error("Popup login failed", error);
}
};
return (