LiaWafanyikaji

Makadirio

Tazama mwanachama ambaye anayetuma siri yako kwenye server yako. Tuma siri ya mfumo, kuthibitisha kwa Lia mmoja, kisha tazama sesheni yako mwenyewe.

Yeyote anaweza kusafisha server yako kwa kumbukumbu ambako inaonyeshwa "I'mchezaji p_3f9c…". Kwa hiyo mzungu anapokea token ya mazoezi kama Lia alikubali, na serikali yako inaskia Lia ambapo ni yake.

#Katika paji yako

Tuma sertifi kwa kwanza kwa kujifunza, au kwa kila kitu ambacho kina muda. Sertifi zina muda wa 15 dakika; Lia.session() sababu inaonyesha mmoja mpya.

api.js
export async function api(path, body) {
  const { session } = await Lia.session();
  const res = await fetch(path, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({ ...body, session }),
  });
  if (!res.ok) throw new Error((await res.json()).error);
  return res.json();
}

#Kwenye serikali yako

server.js (Node.js)
const LIA = "https://api.lialabs.org/api/apps/v1";

async function playerFrom(session) {
  if (typeof session !== "string") return null;
  const res = await fetch(`${LIA}/session/verify`, {
    method: "POST",
    headers: { Authorization: `Bearer ${process.env.LIA_KEY}`, "Content-Type": "application/json" },
    body: JSON.stringify({ session }),
  });
  if (!res.ok) throw new Error(`Lia answered ${res.status}`); // a 401 means your key is wrong
  const result = await res.json();
  return result.valid ? result.playerId : null;
}

app.post("/api/save", async (req, res) => {
  const playerId = await playerFrom(req.body.session);
  if (!playerId) return res.status(401).json({ error: "session" });
  await db.save(playerId, req.body.progress);
  res.json({ ok: true });
});

Kama kama kwenye Cloudflare Mshiriki:

worker.js
export default {
  async fetch(request, env) {
    const body = await request.json();
    const check = await fetch("https://api.lialabs.org/api/apps/v1/session/verify", {
      method: "POST",
      headers: { Authorization: `Bearer ${env.LIA_KEY}`, "Content-Type": "application/json" },
      body: JSON.stringify({ session: body.session }),
    }).then((r) => r.json());
    if (!check.valid) return Response.json({ error: "session" }, { status: 401 });
    return Response.json({ hello: check.playerId });
  },
};

#Tazama sesheni yako mwenyewe

Kuamua kila kumbukumbu, lakini it'mzunguko wa kinywaji kwa Lia kila wakati. Kwa app ambayo inapiga kwenye server yake kote, thibitisha kwanza kisha tumia yako mwenyewe:

  1. Kificho kinatuma kwenyeInapakia sambamba kwenye Lia.init() kwa /api/login.
  2. Mfululizo wako unatuhusu kwa LiaYeye anatuma ID ya mwanafunzi, na kuanzisha kuki yako au token kwa mwanafunzi huyo.
  3. Kila kitu baadaye inatumia yakoHatta kushinda; kisha mfumo unapokea seshi ya Lia mpya kusajili tena.

Kumbukumbu zilizotumiwa kwa mstereani wako'yeye mifano yanaendeleza katika Lia's frame kama kwenye web (cookies kwa site mwingine hukatwa na simu, kwa hivyo kumbuka kuwa mabadiliko yako API kwenye site moja au tuma token thamani ya kuthibitisha). Kwa WebSocket, thibitisha token kwenye mfululizo wa kwanza (au mfululizo'mwenyewe query string) kabla ya kushiriki na mchezaji kwenye yoyote.

#Kutafuta ambao kinafaa kufanywa

  • valid huanushirikishwa tena. Kwa Kificho ambacho's kwa mfumo mwingine, kutoka kwa mmodo mwingine au baada ya kumaliza'kukabili kwenye kisasi.
  • Makosa ni maelezo yako ya kawaida. Kwa kushirikiana na shughuli yako ya kusafisha, unaweza'huanushirikishwa tena. Kwa mode.
  • Tumia playerId kutoka Lia, sikuwezi kama mfumo anayetuma.
  • Tazama siri yako kwenye server yako. Hakuna kushiriki kwenye mfumo, kwa wakati mmoja pekee.

Kutafsiri kwa kawaida. Kiingereza kina maana ya kawaida. Kusoma kwa Kiingereza

Aina kusoma kila mfumo, methodi na endpoint.