DeHubDeHub'ı aç

DeHub › Belgeler

DeHub ile giriş — OAuth ve mini uygulama tokenları

Bir DeHub kullanıcısının kim olduğunu öğrenmenin iki yolu var. Mini uygulama içinde SDK’dan imzalı bir token isteyin. Diğer tüm web sitelerinde veya uygulamalarda standart OAuth kullanın. Her iki durumda da kullanıcının kimliği, DeHub’ın her yerinde kullanılan DeHub cüzdan adresidir.

Mini uygulama içinde

// In your mini app
const { token } = await dehub.auth.getToken();
await fetch('/api/session', { method: 'POST', headers: { Authorization: `Bearer ${token}` } });
// On your server (Node, any JOSE library works)
import { createRemoteJWKSet, jwtVerify } from 'jose';

const JWKS = createRemoteJWKSet(
  new URL('https://aigxuutjaqsywioxjefr.supabase.co/functions/v1/miniapp-auth'),
);

const { payload } = await jwtVerify(token, JWKS, {
  issuer: 'https://riftn.com',
  audience: 'tipjar.example.com', // your domain
});
const wallet = payload.sub; // the user's DeHub wallet, lowercase

Token, bir saat geçerli bir ES256 JWT’dir. DeHub onu gerçekten yüklediği alan adına yönlendirir; böylece bir uygulama için üretilen token asla başka bir uygulamada kullanılamaz. SDK onu önbelleğe alır ve süresi dolmak üzereyken yenisini alır.

Herhangi bir web sitesinde veya uygulamada (OAuth)

DeHub, Mastodon OAuth API’sini konuşur; bu yüzden her OAuth 2.0 kütüphanesi ve her Mastodon istemci kütüphanesi çalışır. PKCE desteklenir ve önerilir.

1. Uygulamanızı bir kez kaydedin.

curl -X POST https://riftn.com/api/v1/apps \
  -H 'Content-Type: application/json' \
  -d '{"client_name":"Tip Jar","redirect_uris":"https://tipjar.example.com/callback","scopes":"profile","website":"https://tipjar.example.com"}'

Dönen client_id ve client_secret değerlerini saklayın. Yalnızca bir kez gösterilirler.

2. Kullanıcıyı onay için DeHub’a gönderin.

https://riftn.com/oauth/authorize
  ?response_type=code
  &client_id=YOUR_CLIENT_ID
  &redirect_uri=https://tipjar.example.com/callback
  &scope=profile
  &state=RANDOM_STATE
  &code_challenge=PKCE_CHALLENGE
  &code_challenge_method=S256

3. Kodu bir token ile değiştirin (sunucunuzda).

curl -X POST https://riftn.com/oauth/token \
  -d grant_type=authorization_code \
  -d code=CODE_FROM_REDIRECT \
  -d client_id=YOUR_CLIENT_ID \
  -d client_secret=YOUR_CLIENT_SECRET \
  -d redirect_uri=https://tipjar.example.com/callback \
  -d code_verifier=PKCE_VERIFIER

4. Kimin giriş yaptığını okuyun.

curl https://riftn.com/api/v1/accounts/verify_credentials \
  -H 'Authorization: Bearer ACCESS_TOKEN'

Yanıttaki id kullanıcının cüzdan adresidir. acct kullanıcı adıdır; ayrıca display_name, avatar ve url.

Kapsamlar

Kapsamİzin verdikleri
profileYalnızca kimin giriş yaptığını okumak. Giriş için bunu kullanın.
readKullanıcının zaman akışını, takip ettiklerini ve bildirimlerini okumak. Şu gibi alt kapsamlarla daraltın: read:accounts.
writeKullanıcı adına gönderi paylaşmak, yanıtlamak, beğenmek ve yüklemek; örneğin write:statuses veya write:media.
followTakip etmek, sessize almak ve engellemek.
pushWeb anlık bildirim abonelikleri.

Yalnızca ihtiyacınız olanı isteyin. İnsanlar listeyi onay ekranında görür ve herhangi bir uygulamanın iznini DeHub ayarlarından kaldırabilir.

Yapay zekâ ajanları

Yapay zekâ asistanları şu adresteki DeHub MCP sunucusu üzerinden giriş yapar: https://riftn.com/mcp; sunucunun dinamik istemci kaydı içeren kendi OAuth akışı vardır. Bakınız: Bağlan.

DeHub Blogu · dehub.io ana sayfası