Lingara Lingara Ohjeet Oppaat API Kirjastot Sovellukset Rakenna Verkkosovellus
Kieli: Suomi

Tunnistautuminen

Tämä sivu on käännetty englannista. Jos ne eroavat toisistaan, englanninkielinen sivu on oikea. Lue englanninkielinen sivu

Luot asiakkaan OAuth-asiakkaan client ID:llä ja asiakassalaisuudella. Kirjasto hoitaa loput. Se ei koskaan pyydä sinulta käyttöoikeustunnusta.

Mitä kirjasto tekee puolestasi

  • Yksi vaihto, jaettuna. Ensimmäinen tunnusta tarvitseva kutsu vaihtaa tunnistetietosi tunnukseen. Jos useita kutsuja alkaa yhtä aikaa, ne kaikki odottavat tätä yhtä vaihtoa sen sijaan, että kukin aloittaisi omansa.
  • Välimuistissa, kunnes se on lähes vanhentunut. Tunnusta käytetään uudelleen 60 sekuntiin asti ennen sen vanhenemista, minkä jälkeen se korvataan seuraavassa kutsussa. Mitään ei uusita taustalla, joten joutilas prosessi ei tee pyyntöjä.
  • Yksi uudelleenyritys 401:n jälkeen. Jos API hylkää tunnuksen, kirjasto unohtaa sen, hakee tuoreen ja toistaa kutsun kerran. Toinen 401 nostetaan API-virheenä.
  • Rajattu vaihto. Tunnuspyyntö, joka ei saa vastausta, epäonnistuu 30 sekunnin jälkeen, joten hidas tunnuspäätepiste ei voi pidätellä jokaista kutsujaa.
  • Ei mitään vuodettavaa. Asiakassalaisuus ja jokainen käyttöoikeustunnus näkyvät lokeissa, debug-tulosteissa ja virheilmoituksissa muodossa [REDACTED].

Operaatiot, jotka eivät tarvitse tunnusta, kuten API-versioiden listaus, eivät koskaan lähetä sitä, joten ilman tunnistetietoja luotu asiakas voi silti kutsua niitä.

Pidä salaisuus palvelimellasi

Asiakassalaisuus tunnistaa sovelluksesi, ei käyttäjiäsi. Säilytä se palvelimesi asetuksissa tai salaisuusvarastossa, äläkä koskaan toimita sitä selaimeen tai mobiilisovellukseen.

Koodiesimerkin kieli

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);

Mitä tämä sivu kääri