엔드 유저 식별자(user)

엔드 유저 식별자(user)

대부분의 앱 엔드포인트는 user 필드를 받아요. 호출이 대신해서 동작하는 최종 사용자에 대한 내 식별자인데, Dify는 이 값을 인증하지 않아요. 그래서 사람마다 안정적인 값(예: 계정 ID)을 골라 일관되게 보내야 해요.

출처: 공식문서

Dify는 처음 등장한 user부터 추적을 시작하고, 앱 키 하나로 얼마든지 많은 최종 사용자를 수용해요.

user가 범위를 정하는 것

user각 호출이 보고 할 수 있는 것을 제어해요.

  • 대화(Conversations): 목록·이력·이름 변경·삭제는 전부 그 사용자의 대화에만 동작해요.

  • 파일(File): 업로드는 업로드한 사용자 소유가 되고, 다른 user로 참조하면 실패해요.

  • 생성 중지(Stopping generation): 채팅 계열 중지 엔드포인트는 user가 답변을 시작한 것과 일치할 때만 동작해요. 불일치하면 조용히 무시됩니다 — 호출은 어느 쪽이든 성공하므로 응답으로는 감지할 수 없어요.

    참고: Workflow의 Stop Workflow Task는 user를 확인하지 않아요.

  • 실행 재개(Resuming runs): Stream Workflow Eventsuser가 실행 생성자와 다르면 404를 돌려줘요.

업로드·전송·중지·재개 — 흐름 안의 모든 호출에 사람마다 user 하나를 유지하세요. 어디서나 확인하니까요.

API 사용자와 웹 앱 사용자는 분리

API를 통한 트래픽과 Dify 호스팅 웹 앱은 서로 다른 신원을 유지해요. API 사용자가 만든 대화는 웹 앱에 절대 나타나지 않고, 웹 앱 대화도 API로는 절대 나타나지 않아요.

엔드 유저 ID 풀기

어떤 응답은 전체 세부 정보 대신 엔드 유저 ID를 싣기도 해요. 예를 들어 Upload File 응답의 created_by가 대표적이에요. 그럴 땐 Get End User Info로 풀어주면 됩니다.

더 알아보기 (Learn more)