AI 바이브 코딩
AI에게 현재 프로젝트와 원하는 동작을 알려주면 DAT를 더 쉽게 적용할 수 있습니다. 아래 예시에서 주소와 환경 변수 이름만 프로젝트에 맞게 바꿔 사용하세요.
간단하게 구현하기
빠르게 기본 구조를 만들고 싶을 때 사용하는 요청입니다.
text
Kotlin과 Spring Boot를 사용하고 있어.
Spring Security에 DAT 인증을 추가해줘.
먼저 https://dat.saro.me/llms.txt 를 읽고
DAT 규격과 공식 라이브러리 사용법을 확인해줘.
Authorization 헤더의 Bearer 토큰을 검증하고,
인증에 성공하면 SecurityContext에 사용자 정보를 넣어줘.
이 서버는 DAT를 발급하지 않고 검증만 해.
DAT CMS에서 검증 전용 인증서를 받아야 해.
CMS 서버 주소와 토큰 설정을 프로젝트에서 먼저 찾아보고,
찾을 수 없으면 나에게 물어봐. 임의의 값은 만들지 마.
공식 Java/Kotlin DAT 라이브러리를 사용하고,
기존 프로젝트 구조와 코딩 스타일에 맞춰 구현해줘.자세하게 구현하기
인증 방식과 오류 처리까지 정확히 지정하고 싶을 때 사용하는 요청입니다.
text
Kotlin, Spring Boot, Spring Security를 사용하는 프로젝트야.
현재 보안 설정을 확인한 뒤 DAT 인증을 추가해줘.
먼저 https://dat.saro.me/llms.txt 를 읽고
DAT 규격, 인증서 동기화 방식과 공식 라이브러리 API를 확인해줘.
구현 조건은 다음과 같아.
- Authorization: Bearer 헤더에서 DAT를 읽는다.
- DAT가 없으면 익명 요청으로 계속 진행한다.
- DAT가 잘못되었거나 만료되었으면 401로 응답한다.
- 검증에 성공하면 사용자 ID와 권한을 SecurityContext에 넣는다.
- 공개되어도 되는 값만 plain에서 읽는다.
- 사용자 ID와 권한은 검증된 secure 데이터에서 읽는다.
- 이 서버는 검증 전용이므로 DAT CMS의 verify-only 인증서를 사용한다.
- CMS 주소와 토큰은 환경 변수로 받는다.
- 시작할 때 인증서 동기화에 실패하면 애플리케이션 시작도 실패시킨다.
- 실행 중에는 인증서를 자동으로 갱신하고, 종료할 때 매니저를 닫는다.
- 오류 메시지가 아니라 DAT 오류 코드로 실패 원인을 구분한다.
- 로그에 DAT 원문, CMS 토큰, 개인정보를 남기지 않는다.
먼저 프로젝트의 Spring Security 설정과 사용자·권한 구조를 확인해줘.
CMS 주소, 토큰 환경 변수, secure 데이터 형식을 알 수 없으면 구현 전에 질문해줘.
공식 Java/Kotlin DAT 라이브러리의 공개 API만 사용해줘.
코드를 수정하기 전에 인증 흐름과 변경할 파일을 짧게 설명해줘.어떤 예시를 선택할까요?
- 우선 실행되는 코드를 만들어 보고 싶다면 간단하게 구현하기를 사용합니다.
- 운영 환경에 적용할 인증 흐름이 필요하다면 자세하게 구현하기를 사용합니다.
AI가 질문하면 CMS 주소, 토큰을 담을 환경 변수 이름, secure 데이터에 넣을 사용자 정보부터 답하면 됩니다.