Как работи Hivesigner

Hivesigner позволява на хората да използват своя Hive акаунт във вашето приложение, без да му дават ключовете си. Състои се от две части: подписващ инструмент в браузъра на https://hivesigner.com и API на https://hivesigner.com/api/. Тази страница обяснява какво прави всяка част и двата начина, по които приложението ги използва.

Подписващият инструмент в браузъра

Подписващият инструмент в браузъра е сайтът на Hivesigner. Хората добавят там своите Hive акаунти. Ключовете им остават в собствения им браузър: Hivesigner не изпраща ключ до нито един сървър. Вашето приложение никога не вижда ключ.

Инструментът подписва три вида неща и всеки път след като потребителят е видял какво подписва:

  • Токени за вход. Вашето приложение изпраща някого към Hivesigner, за да влезе. Hivesigner показва името на приложението ви и какво иска то. Когато потребителят одобри, Hivesigner подписва с неговия ключ кратко твърдение, което назовава акаунта му и вашето приложение. Това подписано твърдение е токенът, който вашето приложение получава. Вижте Вход с OAuth2 и Токени.
  • Транзакции. Връзка за подпис отваря транзакция за преглед. Когато потребителят одобри, Hivesigner я подписва с ключа, който ѝ е нужен. След това я изпраща към мрежата Hive от браузъра, освен ако връзката иска само подписа. Вижте Връзки за подпис.
  • Съобщения. Вашето приложение може да помоли потребител да подпише текст с ключа си, за да докаже, че контролира акаунта. Вижте Подписване на съобщения.

API

API излъчва posting операции от името на потребител, който е влязъл във вашето приложение: публикации и коментари, гласове, следвания и други custom_json операции, получаване на награди и промени по профила. Вашето приложение изпраща операциите заедно с токена на потребителя. API проверява токена, подписва транзакцията с posting ключа на акаунта @hivesigner и я излъчва към Hive.

API връща също акаунта на влезлия потребител, разменя кодове за токени и изброява приложенията, които използват Hivesigner. Вижте REST API.

Веригата от posting правомощия

В Hive един акаунт може да позволи на друг акаунт да действа с неговите posting правомощия. API разчита на две такива разрешения:

@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.
  1. Потребителят добавя акаунта на вашето приложение към своите posting правомощия. Екранът за съгласие прави това първия път, когато потребител одобри posting достъп за вашето приложение. Това изисква неговия active ключ еднократно.
  2. Акаунтът на вашето приложение добавя @hivesigner към своите posting правомощия. Това правите веднъж, когато регистрирате приложението си.

Преди да излъчи, API проверява дали и двете разрешения са налице. Той излъчва само операции, чийто автор е потребителят, назован в токена.

Потребителят може да премахне достъпа на вашето приложение по всяко време на https://hivesigner.com/authorized-apps. След това API вече не може да публикува от негово име през вашето приложение.

Два начина за интеграция

Вход, след това излъчване през API

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

Потребителят одобрява веднъж. След това вашето приложение може да гласува, коментира и публикува от негово име, без да пита отново, докато токенът не изтече или потребителят не премахне достъпа на приложението. Използвайте този начин за ежедневните социални действия.

Нужен ви е акаунт за приложение с регистрирани адреси за обратно извикване и разрешението за @hivesigner. Вижте Регистрирайте приложението си. Ако искате само да знаете кой е потребителят, вижте Вход без posting достъп.

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

Потребителят вижда всяка транзакция, преди да бъде подписана. Връзките за подпис покриват 41 операции в Hive, включително преводи и други действия с портфейла, които изискват active ключ. API никога не работи с тях. За връзки за подпис не ви трябва акаунт за приложение. Вижте Връзки за подпис.

Кое да изберете

  • Чести posting действия (гласове, коментари, следвания): влезте с OAuth2 и след това използвайте API.
  • Действия с портфейла или каквото и да е, което изисква active ключ: използвайте връзки за подпис.
  • И двете: много приложения вписват хората с OAuth2 за социалните функции и използват връзки за подпис за преводите.
  • Само самоличността на потребителя: вижте Вход без posting достъп.

Изходен код

Hivesigner е с отворен код:

  • Подписващият инструмент в браузъра: https://github.com/ecency/hivesigner-ui
  • API: https://github.com/ecency/hivesigner-api
  • JavaScript SDK (npm пакет hivesigner): https://github.com/ecency/hivesigner-sdk. Вижте SDK.