summaryrefslogtreecommitdiff
path: root/app/api/auth/saml
diff options
context:
space:
mode:
Diffstat (limited to 'app/api/auth/saml')
-rw-r--r--app/api/auth/saml/authn-request/route.ts10
-rw-r--r--app/api/auth/saml/mock-idp/route.ts8
2 files changed, 14 insertions, 4 deletions
diff --git a/app/api/auth/saml/authn-request/route.ts b/app/api/auth/saml/authn-request/route.ts
index f079aea0..6544a765 100644
--- a/app/api/auth/saml/authn-request/route.ts
+++ b/app/api/auth/saml/authn-request/route.ts
@@ -50,17 +50,23 @@ function validateSAMLEnvironment() {
*
* @returns {JSON} { loginUrl: string, success: boolean, isThisMocking?: boolean }
*/
-export async function GET() {
+export async function GET(request: Request) {
debugProcess('πŸš€ SAML AuthnRequest API started')
try {
+ // URLμ—μ„œ RelayState λ§€κ°œλ³€μˆ˜ μΆ”μΆœ
+ const url = new URL(request.url)
+ const relayState = url.searchParams.get('relayState')
+
+ debugLog('RelayState parameter:', relayState)
+
// ν™˜κ²½λ³€μˆ˜ 검증
const environment = validateSAMLEnvironment()
debugProcess('SSO STEP 1: Create AuthnRequest')
const startTime = Date.now()
- const loginUrl = await createAuthnRequest()
+ const loginUrl = await createAuthnRequest(relayState || undefined)
const endTime = Date.now()
debugSuccess('SAML AuthnRequest created successfully:', {
diff --git a/app/api/auth/saml/mock-idp/route.ts b/app/api/auth/saml/mock-idp/route.ts
index 45c670b0..eccb6035 100644
--- a/app/api/auth/saml/mock-idp/route.ts
+++ b/app/api/auth/saml/mock-idp/route.ts
@@ -3,7 +3,11 @@ import { NextRequest, NextResponse } from 'next/server'
// Mock IdP μ—”λ“œν¬μΈνŠΈ - SAML Response HTML 폼 λ°˜ν™˜
export async function GET(request: NextRequest) {
try {
- console.log('🎭 Mock IdP endpoint accessed');
+ // RelayState νŒŒλΌλ―Έν„° μΆ”μΆœ
+ const url = new URL(request.url)
+ const relayState = url.searchParams.get('RelayState') || 'mock_test'
+
+ console.log('🎭 Mock IdP endpoint accessed', { relayState });
// Mock SAML Response 데이터 (μ‹€μ œ ν˜•νƒœμ™€ μΌμΉ˜ν•˜λ„λ‘ λ¬Έμžμ—΄ ν˜•νƒœ)
const mockSAMLResponseData = {
@@ -83,7 +87,7 @@ export async function GET(request: NextRequest) {
</div>
<form id="mockForm" method="POST" action="${callbackUrl}">
<input type="hidden" name="SAMLResponse" value="${encodedSAMLResponse}" />
- <input type="hidden" name="RelayState" value="mock_test" />
+ <input type="hidden" name="RelayState" value="${relayState}" />
<button type="submit" class="button">Continue with Mock Login</button>
</form>
<div class="details">