Lingara Lingara Belgeler Rehberler API Kütüphaneler Uygulamalar Oluştur Web uygulaması
Dil: Türkçe

Kimlik doğrulama

Bu sayfa İngilizceden çevrilmiştir. İkisi arasında fark varsa İngilizce sayfa doğrudur. İngilizce sayfayı oku

Bir OAuth istemcisinin client ID’si ve gizli anahtarıyla bir istemci oluşturursunuz. Gerisini kütüphane halleder. Sizden asla bir erişim belirteci istemez.

Kütüphanenin sizin için yaptıkları

  • Tek bir değişim, paylaşılan. Belirteç gerektiren ilk çağrı, kimlik bilgilerinizi bir belirteçle değiştirir. Birkaç çağrı aynı anda başlarsa, her biri kendi değişimini başlatmak yerine hepsi bu tek değişimi bekler.
  • Neredeyse eskiyene kadar önbellekte. Belirteç, süresi dolmadan 60 saniye öncesine kadar yeniden kullanılır, ardından bir sonraki çağrıda değiştirilir. Arka planda hiçbir şey yenilenmez; bu yüzden boşta bekleyen bir süreç hiç istek yapmaz.
  • 401’de tek bir yeniden deneme. API bir belirteci reddederse kütüphane onu unutur, yenisini alır ve çağrıyı bir kez tekrarlar. İkinci bir 401, API hatası olarak fırlatılır.
  • Sınırlı bir değişim. Yanıt alamayan bir belirteç isteği 30 saniye sonra başarısız olur; böylece yavaş bir belirteç uç noktası her çağıranı bekletemez.
  • Sızacak bir şey yok. Gizli anahtar ve her erişim belirteci; günlüklerde, hata ayıklama çıktısında ve hata mesajlarında [REDACTED] olarak yazdırılır.

API sürümlerini listelemek gibi belirteç gerektirmeyen işlemler asla belirteç göndermez; bu yüzden kimlik bilgisi olmadan oluşturulmuş bir istemci de bunları çağırabilir.

Gizli anahtarı sunucunuzda tutun

Gizli anahtar kullanıcılarınızı değil, uygulamanızı tanımlar. Onu sunucunuzun yapılandırmasında veya gizli anahtar deposunda tutun ve asla bir tarayıcıya ya da mobil uygulamaya göndermeyin.

Kod örneğinin dili

TypeScript

import { Lingara } from "@lingara/api";

const client = new Lingara({
  clientId: process.env.LINGARA_CLIENT_ID!,
  clientSecret: process.env.LINGARA_CLIENT_SECRET!,
});

Rust

use lingara::Client;

let client = Client::builder()
    .client_credentials(std::env::var("LINGARA_CLIENT_ID")?, std::env::var("LINGARA_CLIENT_SECRET")?)
    .build()?;

Go

import (
	"os"

	lingara "github.com/Spinning-Cat-Studios/lingara_api_clients/go"
)

client, err := lingara.New(
	lingara.WithClientCredentials(os.Getenv("LINGARA_CLIENT_ID"), os.Getenv("LINGARA_CLIENT_SECRET")),
)
if err != nil {
	return nil, err
}

Java

import com.getlingara.client.LingaraClient;

LingaraClient client =
    LingaraClient.builder()
        .clientCredentials(
            System.getenv("LINGARA_CLIENT_ID"), System.getenv("LINGARA_CLIENT_SECRET"))
        .build();

Kotlin

import com.getlingara.kotlin.LingaraClient

val client =
    LingaraClient {
        clientCredentials(System.getenv("LINGARA_CLIENT_ID"), System.getenv("LINGARA_CLIENT_SECRET"))
    }

Ruby

require "lingara"

client = Lingara::Client.new(client_id: client_id, client_secret: client_secret)

PHP

use Lingara\Client;

$client = new Client(clientId: $clientId, clientSecret: $clientSecret);

Bu sayfanın sarmaladıkları