서버에서 세션 유지하기
서버 렌더링 애플리케이션에 맞게 다음과 같이 변경하여 JavaScript 빠른 시작에 설명된 호스팅 흐름을 사용하십시오. 여기서 말하는 라우트 이름은 여러분이 구현하는 애플리케이션 라우트이며, Didit API 엔드포인트가 아닙니다.
무작위로 생성한 애플리케이션 세션 참조값만
Secure, HttpOnly, SameSite=Lax 속성을 가진 쿠키에 담아 보내고, 범위가 지정된 경로를 사용하십시오. 적절한 만료 시간을 설정하고, 로그인 후에는 세션 참조값을 교체하십시오. Didit 리프레시 토큰을 렌더링된 props, 클라이언트 컴포넌트 또는 브라우저 스토리지에 노출하지 마십시오. 토큰 응답과 콜백 응답에는 Cache-Control: no-store를 사용하십시오.
레이아웃 검사나 미들웨어 검사만으로 충분하다고 생각하지 마십시오. 데이터에 접근하거나 변경 작업을 수행할 때마다 권한을 확인하십시오. 쿠키로 인증되는 변경 요청은 CSRF로부터 보호하십시오. 로그인 후 이동할 대상은 설정된 목적지로만 허용하고, 쿼리 문자열의 임의 returnTo URL은 절대 허용하지 마십시오.
패키지 릴리스 미리보기
예정된 패키지에는 미들웨어, 서버 측auth(), 콜백 라우트, 서버 렌더링용 HttpOnly 쿠키 지원이 추가될 예정입니다. 코어 /server 엔트리는 캐시된 JWKS를 사용하는 verifyToken()을 제공하도록 계획되어 있습니다. 검증된 릴리스에서 내보낸 심볼이 제공될 때까지 이 심볼들을 사용하지 마십시오. 그때까지는 토큰 및 JWKS에 설명된 대로 JOSE 라이브러리를 사용해 토큰을 직접 검증하십시오.
다른 제품 연결하기
인증 세션은 서버에서 생성하고, 범위가 지정된 모니터링 토큰도 서버에서 발급하십시오.vendor_data는 검증된 사용자 매핑에서 도출하십시오. 브라우저에는 인증 세션 URL 또는 수명이 짧은 SDK 토큰만 반환하십시오. DIDIT_API_KEY는 공개 환경 변수에 넣지 마십시오.
인증에는 기존 웹 인증 SDK를, 모니터링에는 트랜잭션 제출 가이드를 사용하십시오. 둘 다 인증 세션 관리자가 아닙니다.
릴리스 전에 콜백 재전송, 잘못된 state, 만료된 state, 갱신 경합, 폐기된 세션, CSRF 거부, 로그아웃을 테스트하십시오. 검증 계약은 토큰 및 JWKS를 참조하십시오.