사용자
사용자 모듈은 현재 로그인한 플레이어
의 정보와 토큰
을 가져오는 기능을 제공합니다. 게임이 로그인 없이 모든 기능을 이용할 수 있다면 이 모듈을 사용할 필요가 없으며, 그렇지 않다면 관련 인터페이스를 호출하여 기능을 구현해야 합니다.
JOGOS_SDK 소개
페이지에서 사용 중인 게임 엔진 관련 부분을 읽은 후, 다음과 같이 기능을 사용할 수 있습니다:
window.JOGOS_SDK.user;
현재 사용자 정보 가져오기
다음 방법으로 현재 플레이어의 정보를 조회할 수 있습니다:
try {
const user = await window.JOGOS_SDK.user.getUser();
console.log('Get user result', user);
} catch (err) {
// 예외 처리
console.error(err);
}
현재 플레이어가 등록되지 않았거나 로그인하지 않은 경우, 시스템은 자동으로 로그인/회원가입 창을 열어 플레이어가 등록 또는 로그인 후에만 게임을 계속할 수 있도록 합니다. 그렇지 않으면 401 인증되지 않음, 다시 로그인해주세요
예외가 반환됩니다.
현재 플레이어의 계정이 정지되었거나 삭제된 경우에도 관련 예외 정보가 반환됩니다.
성공적으로 반환되는 플레이어 객체 구조는 다음과 같습니다:
// 사용자 정보
export interface UserInfo {
// 사용자 Id
userId: string;
// 사용자 이름
username: string;
// 프로필 사진 URL
profilePictureUrl: string;
// 게임 Id
gameId: number;
}
JOGOS_SDK
의 사용자 이름은 6~20자이며, 문자, 숫자, 점(.) 및 밑줄(_)을 포함할 수 있습니다.
JOGOS_SDK 의 UserId는 플레이어 계정과 1:1로 대응됩니다. 게임에서 여러 캐릭터 생성이나 서버 전환 기능이 있다면, 서버에서 이를 처리하여 플레이어 캐릭터 손실이나 전환 불가 문제를 방지해야 합니다.
사용자 토큰 가져오기 (게임 서버 연동 필요)
- 서버가 있는 경우 반드시 연동해야 합니다!
- 사용자 토큰에는 현재 로그인한 플레이어의 정보가 포함되어 있습니다. 이를 서버로 전송하여 검증/디코딩 후 필요한 정보를 추출하고, 게임 서버의 사용자 시스템과 연동해야 합니다. 데이터 보안에 유의하십시오.
클라이언트에서 사용자 토큰을 가져오는 방법은 다음과 같습니다:
try {
const token = await window.JOGOS_SDK.user.getUserToken();
console.log('Get token result', token);
} catch (err) {
// 예외 처리
console.error(err);
}
토큰 유효기간은 1시간입니다. 토큰을 저장하지 않고 필요할 때마다 호출하는 것이 권장됩니다.
현재 플레이어가 등록되지 않았거나 로그인하지 않은 경우, 시스템은 자동으로 로그인/회원가입 창을 열고, 그렇지 않으면 401 인증되지 않음, 다시 로그인해주세요
예외가 반환됩니다.
계정이 정지되거나 삭제된 경우에도 관련 예외 정보가 반환됩니다.
반환된 토큰은 jwt.io에서 디코딩 및 테스트할 수 있습니다.
성공적으로 반환되는 토큰의 JSON 데이터 예시는 다음과 같습니다:
{
"jti": "1899405772252258304",
"sub": "{\"profilePictureUrl\":\"a33bf366e34d48e984a094fc923d7b06.png\",\"gameId\":\"1\",\"profileDefaultAvatar\":\"default-avatar.png\",\"userId\":\"88E1B72FED537C6943C85C28F639BE0B\",\"username\":\"55895999999999999999\"}",
"iss": "com:jogos:sdk",
"iat": 1741688600,
"exp": 1745288600
}
서버에서 요청 인증이 필요할 때는 토큰을 서버로 전송하여 디코딩 및 검증해야 합니다. 이 사용자 토큰 공개키 https://www.jogos.com/publicKey.json
를 사용하여 토큰을 검증할 수 있습니다. 공개키는 변경될 수 있으므로 매번 검증 시 가져오는 것이 좋습니다.
다음 단계: 서버 연동 인증
서버 관련 API는 서버 연동 인터페이스
페이지를 참고하세요.
로컬 테스트
로컬 테스트 시, 사용자 모듈 관련 인터페이스는 모의 데이터만 반환합니다.