TypeScript library to support a Azure Key Vault identity for applications on the Internet Computer.
It uses ECDSA using P-256K and SHA-256, as described in RFC7518.
Visit the Dfinity Forum and SDK Documentation for more information and support building on the Internet Computer.
Using authentication:
npm i --save @origyn/identity-azure-key-vault
import {config} from "dotenv";
import {HttpAgent} from '@dfinity/agent';
import {AzureKeyVaultSecp256k1Identity} from '@origyn/identity-azure-key-vault'
config();
// ...
const identity = await AzureKeyVaultSecp256k1Identity.create({
clientId: process.env.AZURE_CLIENT_ID,
keyId: process.env.AZURE_KEY_ID,
vaultId: process.env.AZURE_VAULT_ID,
tenantId: process.env.AZURE_TENANT_ID,
});
const agent = new HttpAgent({identity: identity, /* rest of config .... */});
Sample .env
can be found in examples/demo/.env.sample, as well all keys are defined in src/demo_agent/environment.ts
.
Note: depends on @dfinity/agent and @dfinity/identity.
You can find example of library usage in examples/demo
, to run it follow those steps:
- change directory:
cd examples/demo
; - install npm packages:
npm install
; - from the same dir, but from another terminal (as well can be started as background job) run local IC:
dfx start
; - from
examples/demo
rundfx deploy
; - create your own
.env
file based on.env.sample
,CANISTER_ID
will be shown after deployment; - after deployment succeeds run node.js application with
npm run start
; - experiment with changing source code,
nodemon
will recompile your application when it will be updated.