holochain / holochain/android-service-runtime

Store app websocket authentication token and port in client app's storage

Open
#25 0 comments 0 reactions 0 assignees View on GitHub
enhancement security Stakeholder/Volla Messages
Dominant language
Rust
Stars
4
Forks
2
Avg merge
1d 5h
Merged PRs (30d)
3

Description

Change where authentication port + auth token is stored from the holochain-service-runtime into the client apps themselves. This ensures that only approved android apps can call their happ websocket. Other android apps are not able to read that storage unless granted explicit user permission, so I believe this is good-enough security for the app ws token.

AC:
- Load authentication token + port from file in consumer app's storage area
- If not found
- Call holochain-conductor-runtime: issue_app_authentication_token
- Checks if the calling Android App Id has "user approval" for the holochain InstalledAppId
- If yes:
- generate authentication token for holochain InstalledAppId
- return authentication token
- zeroize memory
- If no:
- tauri emits a signal "request user approval"
- android-service-runtime app recives the signal, displays a notification
- user clicks "accept" on the notification
- calls holochain-conductor-runtime: approve_app
- adds Android App Id + Holochain InstalledAppId pair to "user approved apps" list
- Save authentication token + port to file in consumer app's storage area

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.