Lingara Lingara لارښود لارښودونه API کتابتونونه اپلیکیشنونه جوړول ویب اپلیکیشن
ژبه: پښتو

د هویت تصدیق

دا پاڼه له انګلیسي ژبې ژباړل شوې ده. که دواړه سره توپیر ولري، انګلیسي پاڼه سمه ده. انګلیسي پاڼه ولولئ

تاسو د یوه OAuth کلاینټ د کلاینټ پېژندنې او کلاینټ راز په مرسته کلاینټ جوړوئ. پاتې کار کتابتون کوي. هېڅکله له تاسو د لاسرسي ټوکن نه غواړي.

هغه څه چې کتابتون ستاسو لپاره کوي

  • یو بدلون، ګډ. لومړی کال چې ټوکن ته اړتیا ولري، ستاسو اسناد په یوه ټوکن بدلوي. که څو کالونه په یوه وخت پیل شي، ټول د همغه یوه بدلون انتظار کوي، پرځای د دې چې هر یو خپل بدلون پیل کړي.
  • تر زړېدو نږدې په حافظه کې ساتل کېږي. ټوکن د پای ته رسېدو تر 60 ثانیو مخکې بیا کارول کېږي، بیا په راتلونکي کال کې بدلېږي. په شالید کې هېڅ شی نه تازه کېږي، نو یو بېکاره پروسه هېڅ غوښتنه نه لېږي.
  • په 401 یوه بیا هڅه. که API یو ټوکن رد کړي، کتابتون یې هېروي، نوی راوړي او کال یو ځل تکراروي. دویم 401 د API تېروتنې په توګه راپورته کېږي.
  • محدود بدلون. د ټوکن هغه غوښتنه چې ځواب ونه مومي له 30 ثانیو وروسته ناکامېږي، ترڅو د ټوکن ورو پای ټکی ټول کال کوونکي ونه دروي.
  • د لیکېدو لپاره هېڅ نشته. د کلاینټ راز او د لاسرسي هر ټوکن په لاګونو، د ډیبګ په محصول او د تېروتنې په پیغامونو کې د [REDACTED] په بڼه چاپېږي.

هغه عملیات چې ټوکن ته اړتیا نه لري، لکه د API نسخو لېست کول، هېڅکله ټوکن نه لېږي، نو هغه کلاینټ چې بې اسنادو جوړ شوی وي بیا هم کولی شي هغوی ته کال وکړي.

راز په خپل سرور کې وساتئ

د کلاینټ راز ستاسو اپلیکیشن پېژني، نه ستاسو کاروونکي. هغه د خپل سرور په تنظیماتو یا د رازونو په زېرمه کې وساتئ، او هېڅکله یې براوزر یا موبایل اپلیکیشن ته مه لېږئ.

د کوډ بېلګې ژبه

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

دا پاڼه څه رانغاړي