> For the complete documentation index, see [llms.txt](https://docs.geopard.tech/geopard-tutorials/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.geopard.tech/geopard-tutorials/ltu/api-dokumentacija/autorizavimas-apikey-kredencialai-arba-oauth-2.0.md).

# Autorizavimas: ApiKey, kredencialai arba OAuth 2.0

GeoPard sprendimas naudoja [AWS Cognito](https://docs.aws.amazon.com/en_us/cognito/latest/developerguide/what-is-amazon-cognito.html) autentifikacijos procedūrai.

Rekomenduojame patikrinti visas autorizacijos parinktis. Pasirinkimas priklauso nuo konkrečios naudojimo situacijos. Daugiau naudojimo detalių aprašyta kiekvienoje žemiau pateiktoje parinktyje.

## 1 variantas: Naudojant kredencialus

Autorizacija su „username“ ir „password“ yra viena iš galimų prieigų. Šiuo atveju turi būti atlikta registracija naudojant el. paštą (nenaudojant socialinių tinklų).&#x20;

{% hint style="info" %}
Šis metodas ***rekomenduojamas integracijai API (BackEnd) lygyje*** ir visi užklausimai į GeoPard API yra prox'inami per tam skirtą paslaugą (mikropaslaugą).
{% endhint %}

### Prisijungimo užklausa&#x20;

{% code overflow="wrap" lineNumbers="true" %}

```bash
curl --location --request POST 'https://api.geopard.tech/login' \
--header 'Content-Type: application/json' \
--header 'Content-Type: text/plain' \
--data-raw '{"username":"<email_address>","password":"<password>"}'
```

{% endcode %}

### Prisijungimo atsakymas

{% hint style="danger" %}
Tokenas yra JWT su 30 minučių galiojimo laiku.\
\
Geriausia praktika — saugoti vieną tokeną ir pakartotinai jį naudoti visoms užklausoms, tikrinant jo galiojimo laiką ir gaunant naują tokeną, kai jis pasibaigia (arba netrukus prieš tai).
{% endhint %}

```json
{
    "token": "<token_to_use_in_geopard_api>"
}
```

## 2 variantas: OAuth 2.0

AWS Cognito palaiko OAuth 2.0 protokolą autorizacijai. Bendras apžvalgos aprašymas pateiktas straipsnyje [Cognito OAuth2 vadovas](https://aws.amazon.com/ru/blogs/mobile/understanding-amazon-cognito-user-pool-oauth-2-0-grants/), poskirsnis Authorization Code Grant yra įdomiausias GeoPard atveju.&#x20;

{% hint style="info" %}
Šis metodas ***rekomenduojama integruoti GeoPard Vartotojo sąsajos (FrontEnd) lygyje***. Integracija veikia abiem kryptimis — siųsti/gauti duomenis į/iš GeoPard.
{% endhint %}

Santraukai:

1. Jūsų programa turi peradresuoti vartotoją į GeoPard Cognito prisijungimui arba registracijai.&#x20;

Pavyzdys:

{% code overflow="wrap" lineNumbers="true" %}

```bash
curl --location --request GET '
https://auth.geopard.tech/oauth2/authorize?response_type=code&client_id=<connect_geopard_team>&redirect_uri=http://localhost:8080&state=54321
'
```

{% endcode %}

Prašome susisiekti su GeoPard komanda, kad gautumėte savo programos individualų `client_id`.

2. Peradresuotas URL gaus patvirtinimo `kodą` kitam žingsniui.

Peradresuotas URL atrodys taip [`http://localhost:8080/?code=eb10956a-6d51-49e5-bbfe-9815e3fdc70a&state=54321`](http://localhost:8080/?code=eb10956a-6d51-49e5-bbfe-9815e3fdc70a\&state=54321).

3. Jūsų programa turi apsikeisti `kodą` skirti `tokenais` (`access_token`, `refresh_token`, `id_token`).

Pavyzdys:

{% code overflow="wrap" lineNumbers="true" %}

```bash
curl --location --request POST '
https://auth.geopard.tech/oauth2/token
' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Cookie: XSRF-TOKEN=365e14e1-3c66-477e-b0ef-a9e436a834ee; csrf-state=""; csrf-state-legacy=""' \
--data-urlencode 'grant_type=authorization_code' \
--data-urlencode 'code=eb10956a-6d51-49e5-bbfe-9815e3fdc70a' \
--data-urlencode 'client_id=42ajne9u466in6gaf569nth9o9' \
--data-urlencode 'redirect_uri=
http://localhost:8080
'
```

{% endcode %}

## 3 variantas: API raktas

Greita prieiga prie WMS ir WFS kartais yra būtina. Todėl galima naudoti GeoPard API raktą, automatiškai sugeneruotą kiekvienam paskyrai.

API raktą galima rasti `apiRaktas` atribute „UserData" GraphQL entitete. Nurodymai, kaip gauti  `apiRaktas` yra pateikti [ČIA](/geopard-tutorials/ltu/api-dokumentacija/geopard-api-uzklausu-apzvalga/38.-uzklausa-gauti-naudotojo-duomenis.md).

{% hint style="danger" %}
`apiRaktas` turi būti naudojamas kartu su `/geo` galūnėmis TIK.
{% endhint %}

Naudojimas:

1. Kaip `geopardApiKey` parametras GET užklausos URL.
2. Kaip `X-API-Key` antraštė bet kurioje užklausoje.<br>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.geopard.tech/geopard-tutorials/ltu/api-dokumentacija/autorizavimas-apikey-kredencialai-arba-oauth-2.0.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
