# Azonosítás: ApiKey, hitelesítő adatok vagy OAuth 2.0

A GeoPard megoldás használja a [AWS Cognito-t](https://docs.aws.amazon.com/en_us/cognito/latest/developerguide/what-is-amazon-cognito.html) az autentikációs eljáráshoz.

Ajánlott minden engedélyezési lehetőséget ellenőrizni. A választás az adott használati esettől függ. Minden lehetőség részletesebb használati leírása az alábbiakban található.

## 1. lehetőség: Hitelesítés felhasználónév/jelszó alapokon

A „felhasználónév” és „jelszó” szerinti hitelesítés az egyik lehetséges megközelítés. Ebben az esetben email alapú regisztráció szükséges (nem szociális hálózatokkal).&#x20;

{% hint style="info" %}
A megközelítés ***ajánlott az API (BackEnd) szintű integrációhoz*** és minden GeoPard API hívás egy dedikált speciális szolgáltatáson (mikroszolgáltatás) keresztül van prox-olva.
{% endhint %}

### Bejelentkezési kérés&#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 %}

### Bejelentkezési válasz

{% hint style="danger" %}
A token egy JWT, amelynek élettartama 30 perc.\
\
Ajánlott gyakorlat egyetlen token tárolása és újrafelhasználása minden kéréstípushoz, ellenőrizve a lejárati idejét, és ha lejár, új tokent kérni (vagy közvetlenül előtte).
{% endhint %}

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

## 2. lehetőség: OAuth 2.0

Az AWS Cognito támogatja az OAuth 2.0 protokollt az azonosításhoz. Az általános áttekintés le van írva a cikkben [Cognito OAuth2 kézikönyv](https://aws.amazon.com/ru/blogs/mobile/understanding-amazon-cognito-user-pool-oauth-2-0-grants/), az Authorization Code Grant al-fejezet a legérdekesebb a GeoPard esetében.&#x20;

{% hint style="info" %}
A megközelítés ***ajánlott a GeoPard integrálása a Felhasználói felületen (FrontEnd) szinten***. Az integráció kétirányúan működik az adatok GeoPard-ba és GeoPard-ból történő küldésére/fogadására.
{% endhint %}

Röviden összefoglalva:

1. Az alkalmazásodnak át kell irányítania a felhasználót a GeoPard Cognito oldalára bejelentkezéshez vagy regisztrációhoz.&#x20;

Példa:

{% 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 %}

Kérjük, lépj kapcsolatba a GeoPard csapattal, hogy megkaphasd az alkalmazásod egyedi `client_id-jét`.

2. A visszairányított URL egy ellenőrző `kódot` fog kapni a következő lépéshez.

A visszairányított URL így néz ki [`http://localhost:8080/?code=eb10956a-6d51-49e5-bbfe-9815e3fdc70a&state=54321`](http://localhost:8080/?code=eb10956a-6d51-49e5-bbfe-9815e3fdc70a\&state=54321).

3. Az alkalmazásodnak ki kell cserélnie `kódot` számára `tokeneket` (`access_token-et`, `refresh_token-et`, `id_token-et`).

Példa:

{% 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. lehetőség: API kulcs

Gyors hozzáférés a WMS és WFS szolgáltatásokhoz időnként szükséges. Ezért lehetséges az egyes fiókokhoz automatikusan generált GeoPard API kulcs használata.

Az API kulcs megtalálható a `apiKulcs` a "UserData" GraphQL entitás attribútumában. Az utasítások arról, hogyan szerezhető be  `apiKulcs` el vannak látva [ITT](/geopard-tutorials/hu/api-dokumentacio/geopard-api-keresek-attekintese/38.-lekerdezes-userdata-lekerese.md).

{% hint style="danger" %}
`apiKulcs` használni kell a `/geo` végpontokkal CSAK.
{% endhint %}

Használat:

1. Mint egy `geopardApiKey` paraméter a GET kérés URL-jében.
2. Mint egy `X-API-Key` header bármely kérésben.<br>


---

# Agent Instructions: 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:

```
GET https://docs.geopard.tech/geopard-tutorials/hu/api-dokumentacio/azonositas-apikey-hitelesito-adatok-vagy-oauth-2.0.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
