---
title: Ajanlar için kimlik doğrulama
description: Atlas by Friendlym ajanlar için OAuth 2.1 kullanır. PKCE (S256) ile yetkilendirme kodu, tarayıcısız ajanlar için cihaz akışı, dinamik istemci kaydı, istemci kimliği üst veri belgeleri, yenilenen belirteçler ve kapsamlar.
canonical: https://tilqui-atlas.pages.dev/docs/auth/
lang: tr
last_updated: 2026-10-08
alternate_html: https://tilqui-atlas.pages.dev/docs/auth/
---

# Ajanlar için kimlik doğrulama

Atlas by Friendlym hem bir OAuth 2.1 yetkilendirme sunucusu hem de korunan bir kaynaktır. Ajanlar, tek bir kişiye ve tek bir çalışma alanına bağlı, o kişinin onayladığı kapsamlara sahip kısa ömürlü erişim belirteçleri alır.

## Keşif

| Ne | Nerede |
|---|---|
| Korunan kaynak üst verisi, MCP (RFC 9728) | `https://tilqui-atlas.pages.dev/.well-known/oauth-protected-resource/mcp` |
| Korunan kaynak üst verisi, REST API | `https://tilqui-atlas.pages.dev/.well-known/oauth-protected-resource/api` |
| Yetkilendirme sunucusu üst verisi (RFC 8414) | `https://tilqui-atlas.pages.dev/.well-known/oauth-authorization-server` |

`/mcp` ya da `/api` adresine belirteçsiz bir istek `WWW-Authenticate: Bearer resource_metadata="…"` ile `401` döner; böylece istemci kendisine verilen adresten başlayabilir.

## Uç noktalar

| Uç nokta | Kullanım |
|---|---|
| `POST /oauth/register` | Dinamik istemci kaydı (RFC 7591). Açık istemciler: `token_endpoint_auth_method` değeri `none`. |
| `GET /oauth/authorize` | PKCE ile yetkilendirme kodu. `code_challenge_method=S256` zorunludur. |
| `POST /oauth/token` | `authorization_code`, `refresh_token` ve `urn:ietf:params:oauth:grant-type:device_code`. |
| `POST /oauth/device_authorization` | Tarayıcısı olmayan ajanlar için cihaz akışı (RFC 8628). |
| `GET /device` | İnsanın, ajanın gösterdiği kodu yazdığı yer. |
| `POST /oauth/revoke` | Belirteç iptali (RFC 7009). |

İstemci kimliği üst veri belgeleri desteklenir: bir istemci `client_id` olarak bir `https` adresi kullanabilir ve Atlas by Friendlym istemcinin adını ve yönlendirme adreslerini o belgeden okur.

## PKCE ile yetkilendirme kodu

Claude Code, Codex ve Cursor bunu kendiliğinden yapar.

1. Kaydolun: `client_name` ve `redirect_uris` (https, herhangi bir portla `http://localhost` ya da `http://127.0.0.1`, veya bir uygulama şeması) ile `POST /oauth/register`.
2. İnsanın tarayıcısını `response_type=code`, `client_id`, `redirect_uri`, `code_challenge` (S256), `state`, ihtiyaç duyduğunuz `scope` ve `resource=https://tilqui-atlas.pages.dev/mcp` ile `/oauth/authorize` adresine gönderin.
3. İnsan giriş yapar ve onay ekranını görür: ajanınızın adı (kendi alan adınızdaki bir istemci kimliği üst veri belgesinden geliyorsa doğrulanmış, değilse kendi bildirdiği ad olarak), çalışma alanı ve istediğiniz her kapsam için bir kutu. Varsayılan olarak yalnızca `read` işaretlidir; gerisini insan seçer. Onaylar ya da reddeder.
4. Yönlendirme adresiniz `code`, `state` ve `iss` alır. Kodu beş dakika içinde `code_verifier` ile `/oauth/token` adresinde belirteçle değiştirin.

## Tarayıcısız ajanlar için cihaz akışı

```sh
# 1. bir kez kaydolun (yönlendirme adresi gerekmez)
curl -s https://tilqui-atlas.pages.dev/oauth/register -H 'content-type: application/json' \
  -d '{"client_name":"Derleme sunucusu ajanı","grant_types":["urn:ietf:params:oauth:grant-type:device_code","refresh_token"]}'

# 2. bir kod isteyin
curl -s https://tilqui-atlas.pages.dev/oauth/device_authorization -d client_id=CLIENT_ID -d resource=https://tilqui-atlas.pages.dev/mcp
# => {"device_code":"…","user_code":"BCDF-GHJK","verification_uri":"https://tilqui-atlas.pages.dev/device",
#     "verification_uri_complete":"https://tilqui-atlas.pages.dev/device?code=BCDF-GHJK","expires_in":900,"interval":5}

# 3. user_code ve bağlantıyı insanınıza gösterin, sonra her `interval` saniyede bir sorun
curl -s https://tilqui-atlas.pages.dev/oauth/token -d grant_type=urn:ietf:params:oauth:grant-type:device_code \
  -d device_code=DEVICE_CODE -d client_id=CLIENT_ID
```

İnsan karar vermediği sürece belirteç uç noktası `authorization_pending` yanıtını verir; aralıktan sık sorarsanız `slow_down` der. İnsan `/device` sayfasında onayladığında belirteçleri alırsınız.

Bağlantı yalnızca kod kutusunu doldurur: insan, onay ekranını görmeden önce ajanının bu kodu şu anda gösterdiğini doğrular; onay ekranı isteğin ne kadar önce ve hangi ülkeden geldiğini gösterir. Tanınmış bir ajanın adıyla (Claude, Codex, Cursor, ChatGPT gibi) kaydolmuş bir istemci cihaz akışını kullanamaz; kendi adınızla kaydolun.

## Belirteçler

- Erişim belirteçleri `ato_` ile başlar ve bir saat geçerlidir. `Authorization: Bearer …` olarak gönderin.
- Yenileme belirteçleri `atr_` ile başlar, 30 gün geçerlidir ve döner: her yenileme yenisini verir, eskisi çalışmaz. Kullanılmış bir yenileme belirtecini yeniden sunmak bütün izni iptal eder; böylece çalınan bir belirteç sessizce yeniden kullanılamaz.
- Her belirteç onu onaylayan kişiye ve onun çalışma alanına bağlıdır ve onaydan (varsayılan 90 gün) uzun yaşamaz.
- Her belirtecin kendi kapsamları ve hedef kaynakları vardır (RFC 8707). `resource=https://tilqui-atlas.pages.dev/mcp`, `https://tilqui-atlas.pages.dev/api` ya da ikisini gönderin; birine verilen belirteç diğerinde çalışmaz. Yenileme kapsamları ya da kaynakları daraltabilir, asla genişletemez.
- Kişi ajanı istediği zaman Ajan bağla sayfasından kaldırabilir; belirteçleri anında çalışmayı bırakır.

## Kapsamlar

| Kapsam | Verdiği yetki |
|---|---|
| `read` | Kişinin görebildiği projeleri, dosyaları ve kaynakları okumak |
| `ask` | Ajan başına günlük sınırla `ask_atlas` |
| `inbox` | Müşteri ile ajans arasındaki sorular; yanıtlar kişinin onayladığı taslaklardır |
| `tasks` | Kişiye atanan görevler ve bunlara ilerleme notları |
| `agent_context` | Ajansın ajanlarla paylaştığı proje bağlamı |
| `direction` | Kişinin projeleri için yön paketleri ve önerdikleri görevlerin onayı |

`scope=…` ile yalnızca ihtiyacınız olanı isteyin; vermezseniz hepsi sunulur ve kişi aralarından seçer (onay ekranında varsayılan olarak yalnızca `read` işaretlidir).

## Eşleştirme belirteçleri

OAuth'tan önce ajanlar Ajan bağla sayfasındaki bir eşleştirme satırıyla bağlanıyordu (`atl_` belirteçleri). Bunlar çalışmaya devam eder ve Ajan bağla sayfasında OAuth ajanlarının yanında görünür.
