In future we will be adding canister scope, so apps have to declare what canister IDs they want to make calls using the users identity. We will also be flagging sensitive canisters (ledger, NNS) and require an additional verification from the user to send calls to those.
API access can be revoked from within NNS, and the bridge only exists on the local machine (so has no exposure remotely). Private keys are never exposed as well. You can use your II through StoicWallet, and have a single identity that can be used through the internet with a persistent public key.
From a cursory look through the code: How do you prevent users from losing access when they clear their browser data or switch devices/browsers? AFAICT you’re only storing the private key in local storage?
Are you referring to the wallet private key, or the application API key? If the application API key is lost due to browser switch, another Authorization request must be made. The solution is meant to serve as a local only connection, on a single machine at any one time. In future changes could be made to allow this to persist across devices.
If you are referring to wallet private keys, these are stored local only for non-custodial purposes so don’t traverse devices or storage loss (but users will have adequate backups/access to their respective keys)
toBlob is removed from later versions, so making the change will make this incompatible with the latest versions of @dfinity/agent. Have you considered upgrading?
Thanks a lot solved this properly by update @dfinity/agent to 0.9.3.
Appriciate!
But there is another problem after create the actor , I try to call a funtion from actor, there is a error message
error:
Code: 403 (Forbidden)
Body: Failed to authenticate request 0x523133134ee76e023c5ad8938997541a8b640cccce8c01bcf18d3325920d2b78 due to: The user id va5wj-vf4bk-wrmva-ggw2k-2pdyx-kwmtr-ty72e-d74oc-wyj2y-bc4xu-sae does not match the public key
Is that actually worked on (given the recent, ehem, changes in staffing)? If it isn’t imminent, we should probably think about work-aounds that the community can apply on their own (e.g. easier local installation, or community forks of the SDK).
Hey, is it possible to accept payment by integrating with Stoicwallet / Stoicidentity yet? Something similar to Entrepot but the payment to be sent to an address and the canister to be able to query and see if that principal / address has sent the funds?