keywords | |||||||
---|---|---|---|---|---|---|---|
|
View this sample's code on GitHub
This is an example project intended to demonstrate how a developer might integrate with Internet Identity.
:::info This example uses TypeScript. See an alternative vanilla JS example. :::
View a live demo of this sample.
This example shows how to use @dfinity/auth-client.
To get started, start a local dfx
development environment in this directory with the following steps:
git clone https://github.com/dfinity/examples
cd examples/motoko/auth-client-demo/
dfx start --background --clean
dfx deps deploy
dfx deploy
This will deploy the vanilla JS (using lit-html) version of the application as well as Internet Identity and the whoami
canister. You can access the canister using the link provided from running dfx deploy
Once deployed, start the development server with npm start
.
You can now access the app at http://127.0.0.1:5173/
.
This demo has multiple versions, each of which demonstrates a different feature of the auth-client. npm start
will run the vanilla JS version, but you can run the others by running npm run start:version
where version
is one of the following:
- React
- Vue
- Vanilla
- Svelte
Note: the svelte project was created using sveltekit, and has its own
package.json
. Cd into ./src/auth_client_demo_assets/svelte and runnpm install
to run the svelte version.
You can also deploy each of the frontend canisters by editing package.json
to run the build:version
script, and dfx.json
to pull from the dist
directory of that framework.
To pull Internet Identity into your project, you'll need to do the following:
"internet-identity" : {
"type": "pull",
"id": "rdmx6-jaaaa-aaaaa-aaadq-cai"
}
dfx deps pull
dfx deps init --argument '(null)' internet-identity
dfx deps deploy