OneNym.id도입 상담
한국어

TOKENIZATION / TECHNICAL DESIGN

목적별 토큰과 권한 취소

데이터 대신 참조를 전달하고 레코드, 수신자, 목적, 만료 시간을 제한합니다. 토큰 보유와 데이터 조회 권한을 구별합니다.

토큰에 개인정보를 넣지 않습니다

예측 불가능한 불투명 토큰을 사용하고 서버에서 범위와 만료를 관리하는 예시입니다. 탈취 영향을 줄이기 위해 토큰과 함께 수신자의 인증도 요구합니다.

token_hash
토큰 매칭용 조회 값. 원본 토큰은 로그나 일반 관리 화면에 남기지 않습니다.
audience
허용된 수신자. 다른 연동 파트너의 사용은 거부합니다.
scope / purpose
허용된 데이터와 목적. 기본값으로 광범위한 권한을 부여하지 않습니다.
resource_ref
주문 또는 배송 레코드. 다른 레코드에 사용하지 못하게 합니다.
expires_at / remaining_uses
만료와 이용 제한. 만료되거나 사용된 토큰은 서버에서 거부합니다.

단회 사용과 응답 유실

ID는 보관된 주소를 참조합니다. 토큰은 특정 주문, 앱과 항목의 조회 조건입니다. 둘 다 보호해야 합니다. 단회 토큰은 조회 성공 시 소모되며 동일 응답의 재전송을 보장하지 않습니다. 응답이 유실되면 처리 상태를 확인한 뒤 재발급을 판단합니다.

만료, 취소, 변경

기존 주소를 수정하지 않고 새로 등록합니다. 현재 연결을 조회해 Version을 expectedVersion으로 전달하고 주문을 변경한 뒤 새 버전 토큰을 발급합니다. 버전이 바뀌면 모든 이전 버전 토큰이 차단됩니다. 같은 버전에서 추가 발급해도 기존 토큰은 폐기되지 않습니다. 이전 주소 삭제 전 다른 주문과 보관 의무를 확인하세요. 이미 전달된 평문은 회수할 수 없습니다.

상태 전이
active → consumed / expired / revoked. 취소 상태를 다시 활성화하지 않습니다.
캐싱
취소 반영 지연을 제한합니다. 고위험 작업은 신뢰할 수 있는 원본 상태를 확인해야 합니다.
한계
권한 취소로 파트너가 이미 조회한 개인정보를 회수할 수는 없습니다.

DATA / INTEGRATION EXAMPLE

데이터 및 연동 예시

설계를 설명하는 예시입니다. 필드명과 값은 설명용이며 실행 가능한 API 명세가 아닙니다.

{
  "operation": "Delivery token issuance example",
  "request": {
    "proxy_id": "nym_example_01",
    "resource_ref": "order_example_01",
    "audience": "carrier-a",
    "scope": [
      "shipping.address.read"
    ],
    "expires_in_seconds": 600,
    "max_uses": 1
  },
  "response": {
    "token": "tok_example_not_a_real_token",
    "expires_in_seconds": 600
  }
}

600초와 1회 이용은 예시입니다. 서명된 JWT만으로 조기 취소나 일회성 이용이 보장되지는 않습니다. 추가 상태 관리가 필요합니다.

관련 기술 설계

개인정보 보호 플랫폼 개요로 돌아가기

업무에 맞춘 연동 설계.

보유 데이터, 파트너, 필요한 작업을 정리해 노출을 줄일 방법을 찾습니다.

기술 연동 상담