SAML 랩
ADFS 에 알리는 주소는 전부 base URL 하나에서 파생됩니다. AD FS 는 그 값을 와일드카드 없이 정확히 대조하므로, 한 글자 차이가 곧 로그인 실패(Event 364)입니다.
우리가 ADFS 에 알리는 값
- base URL
https://aws-insider-e1e444fd-dfae-480a-b782-5eaa35682f5e.feelanet.ai
요청 유도- 식별자 (Issuer)
https://aws-insider-e1e444fd-dfae-480a-b782-5eaa35682f5e.feelanet.ai/
- ACS URL
https://aws-insider-e1e444fd-dfae-480a-b782-5eaa35682f5e.feelanet.ai/api/saml/acs
- 로그아웃
https://aws-insider-e1e444fd-dfae-480a-b782-5eaa35682f5e.feelanet.ai/api/saml/logout
- SP 메타데이터
https://aws-insider-e1e444fd-dfae-480a-b782-5eaa35682f5e.feelanet.ai/api/saml/metadata
- ⚠ 고정값(https://adfs-lab.prism-proxy.localtest.me:8443)과 요청 유도값(https://aws-insider-e1e444fd-dfae-480a-b782-5eaa35682f5e.feelanet.ai)이 다릅니다 — 프록시를 경유 중이라는 신호입니다.
IdP (AD FS)
- entityID
http://adfs.aws-insider.com/adfs/services/trust
- SSO 엔드포인트
https://adfs.aws-insider.com/adfs/ls/
- SLO 엔드포인트
https://adfs.aws-insider.com/adfs/ls/
- 토큰 서명 인증서
- 1장 — ADFS 가 1년마다 자동 롤오버하므로 지문을 박지 않고 메타데이터에서 읽습니다.
- 가져온 시각
2026-10-06T02:09:20.581Z
조작
노브가 무엇을 바꾸는가
서명 검증 strict
wantAssertionsSigned=true, wantAuthnResponseSigned=true — 응답 전체 서명까지 요구한다. ADFS 기본은 assertion 만 서명하므로 여기서 막힐 수 있다.
시계 오차 허용 300초
assertion 의 NotBefore/NotOnOrAfter 대조에 쓴다. 0 으로 두면 ADFS 와 앱 서버의 시각이 조금만 어긋나도 전부 거부된다.
재생 방지 켬
InResponseTo 를 우리가 보낸 요청 ID 와 대조한다.
NameID 형식 요구 요구하지 않음
AuthnRequest 의 NameIDPolicy 에 Format 을 싣지 않는다. 형식은 ADFS 의 발급 규칙이 정한다. 요구하면 규칙과 어긋날 때 ADFS 가 InvalidNameIDPolicy 로 거부한다 — node-saml 기본값(emailAddress)과 이 랩의 규칙(persistent)이 실제로 어긋났었다.
base URL 소스 derived
요청에서 유도 — 프록시 경유 시 내부 이름이 나가 ADFS 가 거부한다. (B-1)
현재 세션
로그인하지 않았습니다. 위의 「ADFS 로그인 시작」을 누르세요.
마지막 ACS 교환 — 검증 단계별 판정
아직 ACS 요청이 없습니다. 로그인을 한 번 시도하면 여기에 단계별 판정이 쌓입니다.