Kavramlar

Oturum açmış kullanıcı

Soruyu soranın kim olduğu, Rendel'in API'nize onlar adına nasıl ulaştığı ve oturumu kapattıklarında veya hesap değiştirdiklerinde ne olduğu.

Rendel'de üç farklı şey bir şeyleri tanımlar ve bunlardan yalnızca biri herhangi birinin bir şey yapma yetkisidir.

NedirNeyi kanıtlar
Uygulama anahtarı (rd_pk_…)Uygulamanızda veya sayfanızda yer alır. Uygulamanızı ve ortamını (test veya canlı) belirtir.Kişi hakkında hiçbir şey kanıtlamaz. Uygulamanıza sahip olan herkes buna sahiptir.
identifyKendi oturum açma akışınızdan gelen, uygulamanızda oturum açmış kişinin kimliğidir.Bu sohbetin kime ait olduğunu kanıtlar: geçmişleri, hafızaları ve onay kartının gösterildiği kişi. Kimlik doğrulama açıkken, arka ucunuzdan gelen bir HMAC bunu kanıtlar.
Kullanıcı belirteciKimlik doğrulama kütüphanenizden gelen, oturum açmış kişinin kendi API'niz için sahip olduğu belirteçtir.API'nizin neyi kanıtladığına karar verdiği her şeyi. Tıpkı kendi uygulamanız için yaptığı gibi, API'niz bunu kontrol eder.

Yapay zekâ kodlama aracınız tek bir istemle üçünü de bağlar: bkz. Oturum açma ve kimlik.

Belirtecin bize ulaştığı ve ulaşmadığı durumlar

  • Uygulamanızda kayıtlı aksiyonlar uygulamanızda, uygulamanızın kendi oturumuyla çalışır. Belirtecin hiçbir zaman telefondan veya sayfadan ayrılması gerekmez.
  • Aksiyonlar yönetim panelinde bağlandığında ve oturum açmış kullanıcının belirteci olarak ayarlandığında, sunucumuz bu aksiyonları uygulamanızın o soruda ilettiği belirteçle Authorization: Bearer olarak çağırır. Bu çağrı için kullanılır ve silinir. Asla saklanmaz, günlüğe kaydedilmez, yönetim panelinde gösterilmez veya modelin önüne konmaz.
  • Diğer tüm yönetim paneli aksiyonları sakladığınız bir anahtarı, Rendel için oluşturulmuş bir hesabı veya hiçbir şeyi kullanmaz. Bunlar yalnızca okuma yapabilir.

Ne zaman istenir

Her sorudan önce. Mevcut belirteci döndürün: Kimlik doğrulama kütüphaneniz bu arada belirteci yenilediyse yeni olan kullanılır. Kimse oturum açmadığında null döndürün. Hata fırlatan bir sağlayıcı, cevabın değil, o sorunun belirtecinin kaybolmasına neden olur.

Neyi kim için ne değiştirir

Bir şeyi değiştiren bir yönetim paneli aksiyonu (bu şekilde işaretlediğiniz bir POST, PUT, PATCH veya DELETE) şunların tümüne ihtiyaç duyar:

  1. Oturum açmış kullanıcı olarak çalışır. Veritabanı bunun için başka hiçbir kimlik bilgisini kabul etmez.
  2. Sıra, identify ile kişiyi belirtir (kimlikleri doğrularsanız HMAC ile kanıtlanır). Kimse belirtilmediğinde sunulmaz.
  3. Kullanıcı bunu onay kartında onaylar ve sunucu bu dokunmayı sohbete sahip olan cihaz için kaydeder.
  4. Dokunmanın ardından devam eden istek aynı kişiyi belirtir. Onlar için yenilenen bir belirteç uygundur. Aynı telefonda başka birinin oturum açmış olması uygun değildir: değişiklik yapılmaz ve Rendel tekrar sorar.

Devam işlemi ne kadar sık yeniden denenirse densin, sunucu daha sonra uç noktanızı bir kez çağırır. Cevap geri dönerken kaybolursa, Rendel tekrar denemek yerine değişikliğin gerçekleşip gerçekleşmediğini bilmediğini söyler. Bkz. yönetim panelinden aksiyonlar.

Oturumu kapatma ve hesap değiştirme

reset() cihazdaki sohbeti, kişiyi ve ekranda kalan tüm kartları temizler; bir sonraki soru bir sonraki identify çağrısına kadar anonimdir. identify fonksiyonunu farklı bir kimlikle çağırmak da sohbeti temizler. Uygulamanız ikisini de çağırmadan hesap değiştirirse sunucu yine de bir kişinin onayını bir sonraki kişinin belirteci için harcamaz (yukarıdaki kural 4), ancak eski cevaplar ekranda kalır; bu nedenle oturumu kapatırken reset() fonksiyonunu çağırın.

401 ve 403

  • Kullanıcı olarak çağrılan bir yönetim paneli aksiyonu için uç noktanızdan 401: kişinin oturumu büyük olasılıkla sona ermiştir. Rendel bunu belirtir ve çağrı tekrarlanmaz. Kendi yenilemenizden gelen uygulamanızın bir sonraki belirteci, bir sonraki soruda kullanılır.
  • 403: API'niz bu kişinin bunu yapamayacağını söyledi. Rendel onlara bunun burada yapılamayacağını söyler. Hiçbir şey bunu yeniden denemez.

Gerçek bir hesapla test etme

Yönetim panelinin Test sayfasında, Talk as API'nizde bir test kullanıcısı olarak oturum açar veya uygulamanızın kendi kayıt akışı üzerinden bir kullanıcı oluşturur ve tıpkı uygulamanızın yapacağı gibi her soruyla birlikte belirteci gönderir. Bkz. Gerçek bir kullanıcı olarak test edin.

İzinleri kim uygular

API'niz. Rendel yalnızca bağladığınız aksiyonlara, yalnızca soruyu soran kişi olarak ve yalnızca bir şeyi değiştiren herhangi bir şeyi onayladıktan sonra erişebilir; bu kişinin neyi değiştirmesine izin verildiği, tıpkı kendi uygulamanızda olduğu gibi tamamen API'nizin kararıdır.