GS2-Auth SDK for Game Engine API 레퍼런스
게임 엔진용 GS2-Auth SDK의 모델 사양과 API 레퍼런스
모델
EzAccessToken
액세스 토큰
사용자 인증 후 발급되는 액세스 토큰을 관리하는 모델입니다.
액세스 토큰은 사용자가 서비스에 로그인되어 있는 동안 해당 세션의 신원을 증명하는 데 사용됩니다.
토큰에는 유효기간이 설정되어 있으며, 만료되면 재인증이 필요합니다.
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| token | string | ✓ | ~ 1024자 | 액세스 토큰 액세스를 인증하기 위한 토큰입니다. 이 토큰은 시스템에 의해 자동으로 생성되며, 사용자의 세션을 식별합니다. | ||
| userId | string | ✓ | ~ 128자 | 사용자ID | ||
| expire | long | 현재 시각으로부터 1시간 후의 절대 시각 | 유효기간 토큰의 유효기간을 나타내는 타임스탬프입니다. 이 시각에 도달하면 토큰은 무효화됩니다. UNIX 시간·밀리초 |
메서드
login
계정 인증 정보를 사용하여 GS2에 로그인
GS2-Account::Authentication에서 획득한 body와 signature를 전달하여 로그인하고 액세스 토큰을 받습니다.액세스 토큰은 유효기간이 1시간인 임시 로그인 정보로, GS2의 각 서비스를 해당 플레이어로서 이용하기 위해 필요합니다.
일반적으로 이 API를 직접 호출할 필요는 없습니다.
Unity 및 Unreal Engine 5 SDK에서는 GS2-Account::Authentication과 이 API를 하나로 묶어 실행하는 Profile::Login이 제공됩니다.
자세한 내용은 초기화 처리 / Game Engine을 참조하십시오.
Request
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| keyId | string | “grn:gs2:{region}:{ownerId}:key:default:key:default” | ~ 1024자 | 암호화 키 GRN | ||
| body | string | ✓ | ~ 524288자 | 서명 대상 계정 인증 정보 | ||
| signature | string | ✓ | ~ 1024자 | 서명 |
Result
| 타입 | 설명 | |
|---|---|---|
| token | string | 액세스 토큰 액세스를 인증하기 위한 토큰입니다. 이 토큰은 시스템에 의해 자동으로 생성되며, 사용자의 세션을 식별합니다. |
| userId | string | 사용자ID |
| expire | long | 유효기간 토큰의 유효기간을 나타내는 타임스탬프입니다. 이 시각에 도달하면 토큰이 무효가 됩니다. UNIX 시간(밀리초) |
구현 예제
var domain = gs2.Auth.AccessToken(
);
var result = await domain.LoginAsync(
body: "body",
signature: "signature",
keyId: "key-0001"
);
var token = result.Token;
var userId = result.UserId;
var expire = result.Expire; var domain = gs2.Auth.AccessToken(
);
var future = domain.LoginFuture(
body: "body",
signature: "signature",
keyId: "key-0001"
);
yield return future;
if (future.Error != null)
{
onError.Invoke(future.Error, null);
yield break;
}
var token = future.Result.Token;
var userId = future.Result.UserId;
var expire = future.Result.Expire; const auto Domain = Gs2->Auth->AccessToken(
);
const auto Future = Domain->Login(
"body", // body
"signature", // signature
"key-0001" // keyId
);
Future->StartSynchronousTask();
if (Future->GetTask().IsError())
{
return false;
}
const auto Result = Future->GetTask().Result();
const auto Token = Result->Token;
const auto UserId = Result->UserId;
const auto Expire = Result->Expire;var domain = ez.auth.access_token(
)
var async_result = await domain.login(
"body", # body
"signature", # signature
"key-0001" # key_id
)
if async_result.error != null:
push_error(str(async_result.error))
return
var result = async_result.result