概念
玩家和会话
复制页面
每个成员以你的应用玩家身份登录,拥有仅属于你的应用的ID。会话令牌让你的服务器知道是谁在请求。
#玩家
人们不会在您的应用中登录:Lia 会为他们完成。第一次有人打开您的应用时,Lia 会为他们创建一个 玩家 它。 Lia.init() 给你:
{
"player": { "id": "p_3f9c0a6d1b2e4f5a6b7c", "name": "amara" },
"session": "lias_eyJhcHAiOi…",
"exp": 1761998400000,
"mode": "live"
}player.id是这个人'的应用中的id。每次他们打开应用时,无论在哪部手机上,它都保持不变。它'是伪匿名的:它'仅用于你的应用,从不用于他们的Lia账户,另一个应用会为同一个人分配不同的ID。将其作为你所保存的所有内容的密钥。player.name是他们的 Lia 用户名,不带 @。它'是公开的,可以更改;Lia 在每次打开您的应用时都会使其保持最新。显示它,但不要'不要在上面键入任何内容。
Lia不会将你的应用分配给某人'的电子邮件、电话号码、余额或其他任何有关其账户的信息。
#会话
您的页面可以'向您的服务器证明它是谁:任何人都可以向您的服务器发送一个声称是任何玩家的请求。因此Lia会为您的页面提供一个 会话令牌,由Lia签名,你的服务器会用Lia进行检查。
Lia.init()用一个session和当它结束时,exp(自 1970 起的毫秒数)。- 一个会话持续 15分钟。用这个获取一个新的
Lia.session()无论何时你需要它;它会回答{ session, exp }. - 一个会话命名您的应用、玩家和模式(测试或实时)。来自其他应用、其他模式或已过期的令牌无效。
// In your page: send a fresh session with anything your server must trust.
const { session } = await Lia.session();
await fetch("/api/claim", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ session, chargeId }),
});您的服务器将代币发送到 POST /session/verify 与你的密钥并返回玩家ID:
{ "valid": true, "playerId": "p_3f9c0a6d1b2e4f5a6b7c", "mode": "live", "exp": 1761998400000 }#模式
每个会话都在一个 模式, test 或 live,每个密钥也是如此。测试密钥仅验证测试会话,而实时密钥仅验证实时会话。参见 测试和上线.
#Lia'自己的关于玩家的记录
有些东西Lia会在您的应用中为每个玩家保留,所以您不能'不要为他们需要一个服务器:
自动翻译。英语是真实来源。 阅读英文