Ana içeriğe geç

Yetkilendirme

kt.auth ile erişilir. Kavramsal anlatım için Yetkilendirme sayfasına bakın.

Auth

Auth(client: KuveytTurk)

OAuth2 işlemleri: token alma, yenileme ve saklama (kt.auth).

İki akış vardır:

  • Client credentials — müşteri girişi gerektirmeyen uç noktalar. Token'lar ihtiyaç oldukça otomatik alınır ve süresi dolunca yenilenir; genelde hiçbir şey yapmanız gerekmez.
  • Authorization code — müşteri adına çalışan uç noktalar. Kullanıcıyı authorization_url adresine yönlendirir, dönen code değerini exchange_code ile token'a çevirirsiniz. Masaüstü betiklerinde hepsini login tek adımda yapar.

client_token

client_token(
    scope: str | Iterable[str], *, force: bool = False
) -> Token

Verilen kapsam için uygulama (client credentials) token'ını döndürür.

Geçerli bir token saklıysa onu kullanır; yoksa ya da force=True ise yenisini alır.

authorization_url

authorization_url(
    scopes: str | Iterable[str],
    *,
    state: str | None = None,
    redirect_uri: str | None = None,
    ui_locales: str | None = None,
) -> str

Müşteriyi giriş ve onay için yönlendireceğiniz adresi üretir.

Parameters:

Name Type Description Default
scopes str | Iterable[str]

İstenen kapsamlar. Refresh token almak için "offline_access" ekleyin.

required
state str | None

CSRF koruması için rastgele değer (new_state ile üretebilirsiniz); callback'te aynı değerin döndüğünü parse_callback ile doğrulayın.

None
redirect_uri str | None

İstemcideki varsayılanı ezer; portalda kayıtlı adresle birebir aynı olmalı.

None
ui_locales str | None

Giriş ekranının dili ("tr" ya da "en").

None

new_state staticmethod

new_state() -> str

state parametresi için tahmin edilemez bir değer üretir.

parse_callback staticmethod

parse_callback(
    url: str, *, state: str | None = None
) -> str

Callback URL'sinden code değerini çıkarır; state verilirse doğrular.

exchange_code

exchange_code(
    code: str,
    *,
    user: str | None = None,
    redirect_uri: str | None = None,
) -> Token

Authorization code değerini token'a çevirir ve user anahtarıyla saklar.

refresh

refresh(*, user: str | None = None) -> Token

Saklı refresh token ile yeni bir access token alır ve saklar.

user_token

user_token(
    *, user: str | None = None, scope: str | None = None
) -> Token

Müşteri için geçerli bir token döndürür; süresi dolmuşsa yeniler.

Raises:

Type Description
AuthorizationRequiredError

Token yoksa, yenilenemiyorsa ya da scope eksikse.

get_user_token

get_user_token(*, user: str | None = None) -> Token | None

Saklı müşteri token'ını (yenilemeye çalışmadan) döndürür.

set_user_token

set_user_token(
    token: Token, *, user: str | None = None
) -> None

Başka bir yerde alınmış/saklanmış müşteri token'ını istemciye tanıtır.

forget_user

forget_user(*, user: str | None = None) -> None

Müşterinin saklı token'ını siler.

login

login(
    scopes: str | Iterable[str],
    *,
    user: str | None = None,
    open_browser: bool = True,
    timeout: float = 300.0,
    ui_locales: str | None = None,
) -> Token

Tarayıcıda giriş yaptırıp token'ı alır (masaüstü betikleri ve geliştirme için).

redirect_uri http://localhost:PORT/... biçiminde olmalıdır: yöntem o portta geçici bir sunucu açar, tarayıcıyı giriş sayfasına yönlendirir, müşteri onay verince dönen kodu token'a çevirir ve saklar.

AsyncAuth

AsyncAuth(client: AsyncKuveytTurk)

OAuth2 işlemlerinin asenkron hali (kt.auth). Ayrıntılar için Auth.

client_token async

client_token(
    scope: str | Iterable[str], *, force: bool = False
) -> Token

Verilen kapsam için uygulama (client credentials) token'ını döndürür.

authorization_url

authorization_url(
    scopes: str | Iterable[str],
    *,
    state: str | None = None,
    redirect_uri: str | None = None,
    ui_locales: str | None = None,
) -> str

Müşteriyi giriş ve onay için yönlendireceğiniz adresi üretir.

new_state staticmethod

new_state() -> str

state parametresi için tahmin edilemez bir değer üretir.

parse_callback staticmethod

parse_callback(
    url: str, *, state: str | None = None
) -> str

Callback URL'sinden code değerini çıkarır; state verilirse doğrular.

exchange_code async

exchange_code(
    code: str,
    *,
    user: str | None = None,
    redirect_uri: str | None = None,
) -> Token

Authorization code değerini token'a çevirir ve user anahtarıyla saklar.

refresh async

refresh(*, user: str | None = None) -> Token

Saklı refresh token ile yeni bir access token alır ve saklar.

user_token async

user_token(
    *, user: str | None = None, scope: str | None = None
) -> Token

Müşteri için geçerli bir token döndürür; süresi dolmuşsa yeniler.

get_user_token

get_user_token(*, user: str | None = None) -> Token | None

Saklı müşteri token'ını (yenilemeye çalışmadan) döndürür.

set_user_token

set_user_token(
    token: Token, *, user: str | None = None
) -> None

Başka bir yerde alınmış/saklanmış müşteri token'ını istemciye tanıtır.

forget_user

forget_user(*, user: str | None = None) -> None

Müşterinin saklı token'ını siler.

login async

login(
    scopes: str | Iterable[str],
    *,
    user: str | None = None,
    open_browser: bool = True,
    timeout: float = 300.0,
    ui_locales: str | None = None,
) -> Token

Tarayıcıda giriş yaptırıp token'ı alır (masaüstü betikleri ve geliştirme için).