Skip to main content

호출한 사용자 확인하기

함수를 호출한 사용자의 데이터를 바꾸거나 판매자·구매자를 기록하려면, 호출한 사용자가 누구인지 서버가 확인한 값이 필요합니다.
요청 값(Backend.Content)으로 받은 사용자 ID는 사용하지 않습니다. 클라이언트가 다른 사람의 ID를 보내면 그 사람의 데이터를 바꿀 수 있게 되기 때문입니다.

gamerId 확인하기​

함수 안에서 Backend.BMember.GetUserInfoV2()를 호출하면, 함수를 호출한 사용자의 정보를 서버에서 받아옵니다.
결과의 row.gamerId가 호출한 사용자의 gamerId입니다.

// Backend.Initialize(ref stream)를 호출한 뒤에 실행합니다.
var userInfo = Backend.BMember.GetUserInfoV2();
if (userInfo.IsSuccess() == false)
{
return ReturnErrorObject("fail to get user info: " + userInfo.GetMessage());
}

string gamerId = userInfo.GetReturnValuetoJSON()["row"]["gamerId"].ToString();
  • 이 값은 유니티가 로그인할 때 받은 토큰으로 서버가 확인한 값이므로, 요청 값을 바꿔도 달라지지 않습니다.
  • 멀티 캐릭터 프로젝트에서는 유니티에서 선택한 캐릭터의 ID가 들어옵니다.
  • 뒤끝 데이터베이스의 OfCurrentUser()도 같은 사용자를 대상으로 합니다. 뒤끝 데이터베이스 사용 문서를 참고해 주세요.
  • 서버에 한 번 더 요청하므로 함수의 응답 시간이 늘어납니다. 한 번 호출할 때 한 번만 확인하고 변수에 담아 사용합니다.

내 PC에서 실행할 때​

GetUserInfoV2는 로그인한 사용자가 있어야 동작합니다.

실행 방법결과
backend debug (기본 실행)로그인한 사용자가 없어 실패합니다.
backend debug --user, 편집기의 테스트 계정 실행등록한 테스트 계정의 gamerId를 받습니다.
배포한 뒤 backend invoke등록한 테스트 계정의 gamerId를 받습니다.
배포한 뒤 유니티에서 호출유니티에서 로그인한 사용자의 gamerId를 받습니다.

테스트 계정 등록은 인증 정보 등록 문서를 참고해 주세요.