Auth-client
View this sample's code on GitHub
This is an example project intended to demonstrate how a developer might integrate with Internet Identity.
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.
Setting up for local development
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/.
Multiple versions
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 installto 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.
Pulling Internet Identity into your project
To pull Internet Identity into your project, you'll need to do the following:
Step 1: Add Internet Identity to your
dfx.jsonfile:
"internet-identity" : {
"type": "pull",
"id": "rdmx6-jaaaa-aaaaa-aaadq-cai"
}
Step 2: Run the following commands to install the dependencies:
dfx deps pull
dfx deps init --argument '(null)' internet-identity
dfx deps deploy