탐색으로 건너뛰기

Trading Widget 인증

새로운 내장 거래 SSO 통합을 위해 파트너 토큰을 사용하세요.

Markdown으로 보기

권장 모드: 파트너 토큰

Partner-token은 URL 에 짧은 토큰을 넣는 것을 방지하고 파트너 백엔드에 apiSecret를 유지합니다.

const widget = TradingWidget.create('#trading-widget', {
baseUrl: 'https://app.6mm.com',
auth: {
mode: 'partner-token',
tokenProvider: async ({ channelId, symbol, reason }) => {
const resp = await fetch('/api/trading/embed-token', {
method: 'POST',
credentials: 'include',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ channelId, symbol, reason }),
})
if (!resp.ok) {
throw new Error('Failed to request embed token')
}
return resp.json()
},
},
})

관련 문서

백엔드 흐름

1. Partner frontend receives auth_request from the iframe.
2. SDK calls tokenProvider.
3. Partner frontend calls its own backend.
4. Partner backend validates the partner session.
5. Partner backend calls 6MM Agent API or Java SDK createEmbedToken.
6. SDK sends embedToken to the iframe through postMessage.
7. iframe exchanges embedToken for a 6MM access token.
8. iframe continues initialization and emits ready.

tokenProvider 계약

필드방향설명
channelIdSDK -> 파트너 백엔드고유한 위젯 세션 식별자입니다. 백엔드는 이를 createEmbedToken에 전달해야 합니다.
상징SDK -> 파트너 백엔드통합 컨텍스트로 전달된 현재 또는 초기 거래 기호. 이는 토큰 거래 쌍 권한 제한이 아닙니다.
이유SDK -> 파트너 백엔드SDK에서 초기 로드 또는 새로 고침과 같은 토큰을 요청하는 이유
embedToken파트너 백엔드 -> SDKAgent SDK 또는 API 에이전트가 생성한 단기 토큰입니다.
expireAt파트너 백엔드 -> SDK6MM에서 반환된 토큰 만료 타임스탬프입니다.

실패 처리

상태권장 취급
파트너 세션이 만료되었습니다.파트너 엔드포인트에서 401을 반환하고 사용자에게 다시 로그인하도록 요청합니다.
일시적으로 토큰 생성에 실패했습니다.tokenProvider에 오류를 발생시키고 위젯이 인증 오류를 표시하도록 허용합니다.
channelId 불일치요청을 거부하고 위젯 인스턴스를 다시 만듭니다.
사용자는 거래가 허용되지 않습니다파트너 제어 오류를 반환하고 포함 토큰을 생성하지 마세요.

호환성 모드: 에이전트-sso

Agent-sso는 이전 /agent-entry 티켓 흐름을 유지합니다. 새로운 통합에는 파트너 토큰을 선호합니다.

const widget = TradingWidget.create('#trading-widget', {
baseUrl: 'https://app.6mm.com',
auth: {
mode: 'agent-sso',
entryUrlProvider: async ({ redirectPath }) => {
const resp = await fetch('/api/trading-entry', {
method: 'POST',
credentials: 'include',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ redirectPath }),
})
const data = await resp.json()
return data.webUrl
},
},
})

초 거래 및 환경 규칙

초 페이지의 경우 위젯에 구성된 page 및 tradingMode와 동일한 partner-token 인증을 사용합니다. 별도의 예측 토큰은 없습니다. 모든 tokenProvider 호출은 백엔드에서 새로운 일회성 토큰을 얻어야 합니다.

embedToken, expireAt를 Unix 초로 반환하고 원본 channelId를 최상위 개체로 반환합니다. Agent SDK 토큰 응답에는 channelId가 포함되어 있지 않습니다. 백엔드는 현재 위젯 채널을 반영합니다. 엔드포인트가 응답을 data로 래핑한 경우 tokenProvider에서 반환하기 전에 래핑을 해제하세요.

전체 초 통합 · 자금환경 가이드