본문으로 건너뛰기

getAnonymousKey

로그인하지 않은 사용자를 미니앱 내에서 식별하기 위한 익명 키를 반환합니다. 반환값은 { type: 'HASH', hash: string } 형태이며, 이 해시를 서버에서 사용자 데이터 관리·세션 추적 등에 활용할 수 있습니다. 앱 버전이 최소 지원 버전보다 낮으면 undefined를 반환합니다.

시그니처

import { getAnonymousKey } from '@apps-in-toss/web-framework';

interface GetAnonymousKeySuccessResponse {
hash: string;
type: 'HASH';
}

declare function getAnonymousKey(): Promise<
GetAnonymousKeySuccessResponse | 'ERROR' | undefined
>;

파라미터

없음.

반환값

Promise<{ type: 'HASH'; hash: string } | 'ERROR' | undefined>

반환값의미
{ type: 'HASH', hash: string }익명 키 조회 성공. hash 필드가 사용자 식별자입니다.
'ERROR'알 수 없는 오류가 발생했습니다.
undefined앱 버전이 최소 지원 버전보다 낮습니다.
세 가지 케이스를 모두 처리하세요

반환값이 undefined이거나 'ERROR'인 경우를 명시적으로 처리해야 합니다. hash를 바로 사용하기 전에 반드시 타입 가드를 적용하세요.

권한

권한이 필요하지 않습니다 — getAnonymousKey는 별도의 PermissionName에 바인딩되지 않습니다. 다른 네임스페이스에서 권한을 처리하는 방식은 Guides — 권한 처리 패턴을 참고하세요.

예제

최소 예제

import { getAnonymousKey } from '@apps-in-toss/web-framework';

async function fetchUserKey() {
const result = await getAnonymousKey();

if (result === undefined) {
console.warn('지원하지 않는 앱 버전이에요.');
return;
}

if (result === 'ERROR') {
console.error('익명 키 조회 중 오류가 발생했어요.');
return;
}

console.log('익명 키:', result.hash);
}

실전 예제 — 서버에 익명 키 등록

import { getAnonymousKey } from '@apps-in-toss/web-framework';
import { useEffect, useState } from 'react';

// `registerAnonymousSession`은 앱의 실제 서버 API로 대체하세요.
declare function registerAnonymousSession(hash: string): Promise<void>;

function AnonymousSessionManager() {
const [ready, setReady] = useState(false);
const [error, setError] = useState<string | null>(null);

useEffect(() => {
(async () => {
const result = await getAnonymousKey();

if (result === undefined) {
setError('앱을 업데이트한 후 다시 시도해 주세요.');
return;
}

if (result === 'ERROR') {
setError('세션 초기화에 실패했어요. 잠시 후 다시 시도해 주세요.');
return;
}

await registerAnonymousSession(result.hash);
setReady(true);
})();
}, []);

if (error) return <p>{error}</p>;
if (!ready) return <p>로딩 중...</p>;
return <p>세션이 준비되었어요.</p>;
}

직접 실행해 보기

sdk-example의 Auth 페이지에서 getAnonymousKey 카드를 실행해 결과를 확인할 수 있습니다.

sdk-example에서 실행해 보기

관련 API

  • appLogin — 로그인이 필요한 경우에는 getAnonymousKey 대신 appLogin을 사용하세요.
  • getIsTossLoginIntegratedService — 사용자의 토스 로그인 연동 여부를 확인합니다.

관련 가이드

외부 참조