세션

일반적으로 “세션"은 사용자가 시스템에서 인증되는 기간입니다.

Nakama에서 세션은 서버 함수에 액세스할 때 클라이언트가 인증되었음을 증명하는 클라이언트 측 객체로 표시됩니다.

세션 기간은 구성에서 token_expiry_sec 속성으로 설정할 수 있습니다. 세션 기간은 게임의 평균 플레이 세션 길이의 약 2~3배로 설정하는 것이 좋습니다.

세션은 이 설정 기간이 지나면 만료되어 무효화됩니다. 클라이언트가 인증할 때 새로 고침 토큰이 제공되므로 새로 고침 토큰이 유효한 동안 새 인증 토큰을 얻을 수 있습니다. 새로 고침 토큰이 만료된 경우 새 세션을 가져오려면 서버에 다시 인증해야 합니다.

세션 세부정보 #

다음 코드를 사용하여 사용자의 ID, 이름 및 세션 만료 여부에 액세스할 수 있습니다:

세션 새로 고침 #

세션을 새로 고칠 때 선택적으로 새 세션 변수 값을 제공할 수 있습니다. 이러한 새 값이 현재 세션 객체에 저장된 모든 세션 변수 대신 사용됩니다.

세션 로그아웃 #

사용자가 활성 세션에서 로그아웃할 수 있도록 만드는 것은 좋은 보안 사례입니다. 예를 들어 이는 공유 장치를 사용할 때 다른 사람의 무단 액세스를 방지하는 데 사용할 수 있습니다.

사용자 세션에서 로그아웃하면 인증 및 새로 고침 토큰이 무효화되지만 열려 있는 소켓 연결은 끊어지지 않습니다. 이것은 서버 측 sessionDisconnect 함수를 통해 수행할 수 있습니다. 해당 함수 참조를 확인하세요.

세션 변수 #

세션 변수를 사용하면 클라이언트 및 서버 측 코드가 게임 서버에서 생성된 세션 토큰에 추가 키/값 쌍을 포함시킬 수 있습니다. 이렇게 하면 세션 토큰이 에지 캐시 역할을 할 수 있으며 세션이 활성 상태로 유지되는 한 해당 정보를 사용할 수 있습니다.

이는 분석, 추천 보너스 또는 보상 프로그램과 같은 다양한 기능과 도구를 구현하는 데 사용할 수 있습니다.

세션을 새로 고칠 때 선택적으로 새 세션 변수 값을 제공할 수 있습니다. 이러한 새 값이 현재 세션 객체에 저장된 모든 세션 변수 대신 사용됩니다.

클라이언트에서 설정 #

클라이언트의 인증 요청에 변수를 설정하려면 다음을 사용합니다:

이 예는 이메일 인증으로 세션 변수를 설정하는 것을 보여주지만 이 기능은 다른 모든 인증 옵션과 모든 클라이언트 라이브러리에서 사용할 수 있습니다.

서버에서 설정 #

세션 변수는 서버에서 설정할 수 있지만 인증 후크 __이전__에만 가능합니다.

서버로 접속 #

일단 설정되면 세션 변수는 읽기 전용이 되며 모든 서버 후크에서 액세스할 수 있습니다. 세션 변수를 변경하거나 삭제하는 유일한 방법은 클라이언트가 다시 인증하도록 만드는 것입니다.

Related Pages