Sagar Kothari avatar

3Speak Mobile App / dApps can integrate new Acela-Core to login

sagarkothari88

Published: 30 Jan 2024 › Updated: 30 Jan 20243Speak Mobile App / dApps can integrate new Acela-Core to login

3Speak Mobile App / dApps can integrate new Acela-Core to login

Hello 3Speak & Hive Community members,

With this post, I'll talk about new APIs which mobile app will be using.
I'll also explain how to use those API which can be used on any dApps.
And I'll also share all the links to those resources so that you can study & try it out on your own.

Link to documentation

Screenshot 2024-01-30 at 8.39.29 AM.png

  • Here you can find the link to documentation - https://staging.3speak.tv/api/v1/docs
  • As shown in the screenshot above, you can find all APIs details.
  • Documentation covers every API request structure & response structure.
  • At the end, you'll also find schemas with which you can get an understanding on necessary objects.

Acela-Core

  • Acela-Core is a new Backend core for decentralised video applications on HIVE.
  • It also supports logging in with social-accounts like twitter, github, gmail etc.
  • In this post, I'll explain about how to login with Hive account.
  • Other types of logins which are supported, I'll share more details as and when I get more familiar with.
  • Acela-core repository can be found here - https://github.com/spknetwork/acela-core

Acela-Core - login with hive account

  • Step 1. Create a payload which has account name & timestamp. Payload should look as follows.
{"account":"sagarkothari88","ts":"2024-01-29T16:15:24.515Z"}
  • Step 2. Get this payload signed with posting key. Now, in order to sign, either you can use posting key of user in case if you've access to it. In case of login via keychain, you can ask keychain to sign the payload for you.

  • Step 3. Once you've the proof of signed payload, you can compose a JSON object as follows.

{
  "username": "sagarkothari88",
  "network": "hive",
  "authority_type": "posting",
  "proof_payload": "{\"account\":\"sagarkothari88\",\"ts\":\"2024-01-29T16:15:24.515Z\"}",
  "proof": "201134af9d7a90b858abcdefg52b6d6f9401532132484cef83f50fb633efd2e0e90240aa56c68bd1deba1eb4a510a261c94827f07d23497ac148aa0b1bedd919ea"
}
  • Step 4. Send a post request to acela-core backend with above json object. Here is the cURL of the request.
curl 'https://acela.us-02.infra.3speak.tv/api/v1/auth/login_singleton' \
  -H 'Accept: application/json, text/plain, */*' \
  -H 'Content-Type: application/json' \
  --data-raw '{"username":"sagarkothari88","network":"hive","authority_type":"posting","proof_payload":"{\"account\":\"sagarkothari88\",\"ts\":\"2024-01-29T16:15:24.515Z\"}","proof":"201134af9d7a90b858abcdefg52b6d6f9401532132484cef83f50fb633efd2e0e90240aa56c68bd1deba1eb4a510a261c94827f07d23497ac148aa0b1bedd919ea"}' \
  --compressed

Here is the example response which you'll get.

{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}

Congratulations. You're logged in. Now, you can use this JWT token for further requests.

Get proof via Keychain

Screenshot 2024-01-30 at 9.45.19 AM.png

Get proof via posting key

Screenshot 2024-01-30 at 9.48.33 AM.png

  • Signing is simple with hivejs
const proof = hive.auth.signMessage(message, privateKey)

I wish you all the luck for integrating sign-in-with-hive-account using acela-core.
Let me know in the comment section if you find any difficulties.

that's all

Anyway, I'll keep up the good work on Hive. Thank you for checking my post.

Who am I?

  • I'm a hive witness
  • 3Speak App Developer
  • Founder of HiveCurators Community - hive-185924@hive-185924
  • I also contributed to mobile-app for HiveAuth

Support me

  • Please upvote my content to motivate me.
  • Do you like the work I do?
  • Do you want me to keep going?
  • Please Reblog
  • Please help me connect with more communities
  • Please vote me as Hive Witness

Vote me as Hive Witness

Support @sagarkothari88

Leave 3Speak Mobile App / dApps can integrate new Acela-Core to login to:

Written by

App Developer on Hive - Distriator, Check in With XYZ, 3Speak, HiveSuite.app.

Read more #hive-167922 posts


Best Posts From Sagar Kothari

More Posts From Sagar Kothari