Open Play SDK API başvurusu
    Preparing search index...

    Type Alias RealtimeCsrfExchange

    RealtimeCsrfExchange: <R extends RealtimeCsrfResponse>(
        send: (csrfToken: string | undefined) => Promise<R>,
        context: RealtimeCsrfExchangeContext,
    ) => Promise<R>

    Ticket isteğini oyuncu client'ının strict CSRF mutation şeridinde (lane) çalıştıran kanca (SPEC-0370, Open Play SPEC-0147 D1).

    Neden yazıldı: Strict CSRF token'ı tek kullanımlıktır. Ticket isteği token'ı şerit kilidi dışında okursa eşzamanlı bir mutation ile aynı token'ı harcar, kaybeden 403 alır ve bu 403 oyuncu oturumunu reauthRequired'a düşürür. Kanca ticket'ı mutation'larla aynı sıraya sokar. Sözleşme (implementer): PlayerClient'ın mutation'larıyla aynı origin kilidini alır; kilit içinde güncel token'ı (yoksa yeni grant'i) send'e verir ve yanıttaki rotate edilmiş x-csrf-token'ı kilit bırakılmadan benimser. 403'te aynı kilit bölümünde token'ı temizler, taze grant alır ve send'i tam bir kez daha çağırır; 401 hiç yeniden denenmez. Son yanıt (ikinci 403 dahil) olduğu gibi döner; auth eşlemesi realtime client'ındadır. Grant alma veya send hatası aynen iletilir. 403 sonrası taze grant ve yeniden gönderim tek kilit bölümünde yapılır; araya başka sekmenin grant'i girip tek CSRF çerezini değiştiremez. Kilit alındıktan sonra, grant'ten ve send'den önce context.signal ve context.generation denetlenir; deadline dolmuş ya da scope değişmişse hiçbir ağ isteği (grant dahil) yapılmaz.

    Parametreler

    • send: (csrfToken: string | undefined) => Promise<R> — ticket isteğini verilen token ile gönderen tek deneme; realtime deadline'ı dolmuşsa ağa çıkmadan CrxError(Timeout) ile reddeder.
    • context: RealtimeCsrfExchangeContext — ticket deadline sinyali ve ticket'ın ait olduğu generation.

    Dönüş

    • Promise<R> — son denemenin HTTP yanıtı.

    Hatalar

    • CrxError — grant alma (GET /v1/auth/csrf) veya send hatası.

    Type Declaration