Hivesigner nasıl çalışır
Hivesigner, kişilerin Hive hesaplarını uygulamanızda kullanmasını sağlar ve bunu uygulamanıza anahtarlarını vermeden yapar. İki parçası vardır: https://hivesigner.com adresindeki tarayıcı imzalayıcısı ve https://hivesigner.com/api/ adresindeki API. Bu sayfa her parçanın ne yaptığını ve bir uygulamanın bunları kullanmasının iki yolunu anlatır.
Tarayıcı imzalayıcısı
Tarayıcı imzalayıcısı Hivesigner web sitesidir. Kişiler Hive hesaplarını oraya ekler. Anahtarları kendi tarayıcılarında kalır: Hivesigner hiçbir anahtarı hiçbir sunucuya göndermez. Uygulamanız hiçbirini görmez.
İmzalayıcı üç tür şeyi imzalar ve her birinde kullanıcı neyi imzaladığını önce görür:
- Giriş token'ları. Uygulamanız birini giriş yapması için Hivesigner'a gönderir. Hivesigner uygulamanızın adını ve istediği şeyi gösterir. Kullanıcı onayladığında Hivesigner, kendi hesabını ve uygulamanızı adlandıran kısa bir ifadeyi anahtarıyla imzalar. İmzalanan bu ifade, uygulamanızın aldığı token'dır. Bkz. OAuth2 ile giriş ve Token'lar.
- İşlemler. Bir imza bağlantısı, incelenmek üzere bir işlem açar. Kullanıcı onayladığında Hivesigner işlemi gereken anahtarla imzalar. Bağlantı yalnızca imzayı istemiyorsa işlemi tarayıcıdan Hive ağına gönderir. Bkz. İmza bağlantıları.
- Mesajlar. Uygulamanız bir kullanıcıdan, hesabı denetlediğini kanıtlamak için bir metni anahtarıyla imzalamasını isteyebilir. Bkz. Mesaj imzalama.
API
API, uygulamanıza giriş yapmış bir kullanıcı adına gönderi yetkisindeki operasyonları yayınlar: gönderiler ve yorumlar, oylar, takipler ve diğer custom_json operasyonları, ödül talepleri ve profil güncellemeleri. Uygulamanız operasyonları kullanıcının token'ıyla birlikte gönderir. API token'ı denetler, işlemi @hivesigner hesabının gönderi anahtarıyla imzalar ve Hive ağına yayınlar.
API ayrıca giriş yapmış kullanıcının hesabını döndürür, kodları token'larla takas eder ve Hivesigner kullanan uygulamaları listeler. Bkz. REST API.
Gönderi yetkisi zinciri
Hive üzerinde bir hesap, başka bir hesabın kendi gönderi yetkisiyle işlem yapmasına izin verebilir. API bu izinlerin ikisine dayanır:
@alice (the user)
posting authority includes @myapp (your app account)
posting authority includes @hivesigner (the API)
The API signs with the @hivesigner posting key.
Hive accepts that signature for @alice, through @myapp.
- Kullanıcı, uygulama hesabınızı kendi gönderi yetkisine ekler. Onay ekranı bunu, kullanıcı uygulamanıza ilk kez gönderi erişimi verdiğinde yapar. Bunun için kullanıcının aktif anahtarı bir kez gerekir.
- Uygulama hesabınız @hivesigner'ı kendi gönderi yetkisine ekler. Bunu bir kez, uygulamanızı kaydederken yaparsınız.
API yayınlamadan önce her iki iznin de yerinde olduğunu denetler. Yalnızca token'ın adlandırdığı kullanıcının yazdığı operasyonları yayınlar.
Kullanıcı uygulamanızın erişimini istediği zaman https://hivesigner.com/authorized-apps adresinden kaldırabilir. Bundan sonra API artık uygulamanız üzerinden onun adına gönderi paylaşamaz.
Entegrasyonun iki yolu
Giriş yapın, sonra API üzerinden yayınlayın
1. Your app sends the user to https://hivesigner.com/oauth2/authorize?client_id=...
2. The user reviews the request in Hivesigner and approves it
3. Hivesigner redirects to REDIRECT_URI?access_token=...&expires_in=604800&username=alice
4. Your app POSTs the token and the operations to https://hivesigner.com/api/broadcast
5. The API signs with the @hivesigner posting key and broadcasts to Hive
Kullanıcı bir kez onaylar. Bundan sonra uygulamanız, token'ın süresi dolana ya da kullanıcı uygulamanızın erişimini kaldırana kadar onun adına oy verebilir, yorum yapabilir ve gönderi paylaşabilir. Bunu günlük sosyal eylemler için kullanın.
Kayıtlı geri çağırma adresleri ve @hivesigner izni olan bir uygulama hesabına ihtiyacınız vardır. Bkz. Uygulamanızı kaydedin. Yalnızca kullanıcının kim olduğunu öğrenmek istiyorsanız bkz. Gönderi erişimi olmadan giriş.
İmza bağlantıları
1. Your app sends the user to https://hivesigner.com/sign/... with the transaction in the link
2. The user reviews the transaction in Hivesigner and approves it
3. Hivesigner signs it with the user's own key in the browser and broadcasts it
4. Hivesigner redirects to your callback, when the link names one
Kullanıcı her işlemi imzalanmadan önce görür. İmza bağlantıları 41 Hive operasyonunu kapsar, aktif anahtar gerektiren transferler ve diğer cüzdan eylemleri de buna dahildir. API bunları hiçbir zaman işlemez. İmza bağlantıları için bir uygulama hesabına ihtiyacınız yoktur. Bkz. İmza bağlantıları.
Hangisini seçmeli
- Sık yapılan gönderi eylemleri (oylar, yorumlar, takipler): OAuth2 ile giriş yapın, sonra API'yi kullanın.
- Cüzdan eylemleri ya da aktif anahtar gerektiren her şey: imza bağlantılarını kullanın.
- Her ikisi: birçok uygulama sosyal özellikler için kişileri OAuth2 ile giriş yaptırır ve transferler için imza bağlantılarını kullanır.
- Yalnızca kullanıcının kimliği: bkz. Gönderi erişimi olmadan giriş.
Kaynak kodu
Hivesigner açık kaynaklıdır:
- Tarayıcı imzalayıcısı: https://github.com/ecency/hivesigner-ui
- API: https://github.com/ecency/hivesigner-api
- JavaScript SDK (npm paketi
hivesigner): https://github.com/ecency/hivesigner-sdk. Bkz. SDK'lar.