会话

一般来说,“会话”是指用户通过系统认证的一段时间。

在Nakama中,会话由客户端对象表示,在访问服务器功能时该对象证明客户端已通过身份验证

在配置中,可通过token_expiry_sec属性设置会话持续时间。建议将会话持续时间设置为游戏平均游戏会话长度的2到3倍。

会话会过期,在该设置的时间段后失效。当客户端进行身份验证时,会提供一个刷新令牌,只要刷新令牌保持有效,就可以获取新的身份验证令牌。刷新令牌过期后,需要与服务器进行重新身份验证以获取新会话。

会话详细信息 #

您可以使用以下代码访问用户的id、名称以及他们的会话是否过期:

会话刷新 #

在刷新会话时,可以选择新的会话变量。这些新的值将替换当前存储在会话对象中的会话变量。

会话注销 #

使用户能够注销活动会话是一种良好的安全做法。例如,当使用共享设备时,注销可以用于防止他人进行未经授权的访问。

注销用户的会话将取消其身份验证和刷新令牌,但_并不_端口其开放套接字连接。这可以通过服务器端sessionDisconnect函数完成。请参阅对应的函数参考

会话变量 #

会话变量可以让客户端和服务器端代码在游戏服务器生成的会话令牌中嵌入额外的密钥/值对。这使得会话令牌可以充当边缘缓存,只要会话保持活动状态,就可以获得信息。

这些可用于实现不同的功能和工具,如分析、推荐奖金或奖励计划。

在刷新会话时,可以选择新的会话变量。这些新的值将替换当前存储在会话对象中的会话变量。

客户端设置 #

要设置客户端身份验证请求中的变量,请使用:

本示例演示通过电子邮件身份验证设置会话变量,但对于所有其他身份验证选项和在所有客户端库中都可以使用此功能。

服务器设置 #

服务器可以设置会话变量,但是仅在__before__身份验证挂钩中。

通过服务器访问 #

设置后,会话变量将变为只读属性,可以在任何服务器挂钩中进行访问。更改或删除会话变量的唯一方法是强制客户端再次进行身份验证。