Introduction
Aioha (All-In-One Hive Authentication) is an API that provides a common interface for working with different Hive login providers. This allows easier integration of Hive login and transacting on the network with fewer code.
Aioha is designed for use in browser contexts and can be used through two different ways:
This is the base library containing the inner workings of Aioha. It provides the APIs needed to interact with different Hive login providers, all within one or two lines of code. Recommended when flexibility is important.
These are libraries that provide framework-specific conveniences for integrating Aioha. Optionally includes all the UI logic required for an Aioha-powered Hive login modal. Best for most developers.
Supported Providers
Supported Frameworks
- React (Provider, Ready Made UI)
Feature Matrix
Feature | Peak Vault | Keychain | HiveAuth | HiveSigner | Ledger |
---|---|---|---|---|---|
Login | ✅ | ✅ | ✅ | ✅1 | ✅ |
Login (non-interactive) | ❌ | ❌ | ❌ | ✅ | ❌ |
Discover accounts | ❌ | ❌ | ❌ | ❌ | ✅ |
Memo encryption | ✅ | ✅ | ❌4 | ❌ | ❌ |
Memo decryption | ✅ | ✅ | ❌5 | ✅2 | ❌ |
Sign message | ✅ | ✅ | ✅ | ❌ | ✅ |
Sign tx (without broadcast) | ✅ | ✅ | ❌3 | ❌ | ✅ |
Sign tx (with broadcast) | ✅ | ✅ | ✅ | ✅ | ✅ |
Transact using owner auth | ❌ | ❌ | ❌ | ✅ | ✅ |
1 A HiveSigner access token will be returned instead of an ECDSA signature.
2 Memo must be encrypted using @hivesigner
's public posting key.
3 While technically supported by the provider, the PKSA generates the transaction headers instead of using supplied values. This is unhelpful for signing multisig transactions.
4 Developer claims to be possible however this is not documented anywhere therefore not implemented in Aioha.
5 Only available in protocol 1.0 that doesn't seem to be deployed therefore not implemented in Aioha.
Local Storage Reserved Keys
Aioha uses certain keys in browser localStorage
to store persistent logins, and in the case of HiveSigner provider, pass info from callback URL.
Do not modify any values for the local storage keys below outside Aioha core and HiveSigner callback page.
The following keys are reserved:
- General:
aiohaUsername
,aiohaProvider
,aiohaPubKey
,aiohaOtherLogins
- HiveAuth:
hiveauthToken
,hiveauthKey
,hiveauthExp
- HiveSigner:
hivesignerTxId
,hivesignerToken
,hivesignerExpiry
,hivesignerUsername
- Ledger:
ledgerPath