@astrox/auth-client

JavaScript and TypeScript library to provide a simple integration with an IC Internet Identity

Usage no npm install needed!

<script type="module">
  import astroxAuthClient from 'https://cdn.skypack.dev/@astrox/auth-client';
</script>

README

@astrox/auth-client

Simple interface to get your web application authenticated with the Internet Identity Service

Visit the Dfinity Forum and SDK Documentation for more information and support building on the Internet Computer.

Additional API Documentation can be found here.


Installation

Using AuthClient:

npm i --save @astrox/auth-client

In the browser:

import { AuthClient } from "@astrox/auth-client";

To get started with auth client, run

const authClient = await AuthClient.create();

The authClient can log in with

authClient.login({
  onSuccess: async () => {
    // authClient now has an identity
  },
});

It opens an identity.ic0.app window, saves your delegation to localStorage, and then sets you up with an identity.

Then, you can use that identity to make authenticated calls using the @astrox/agent Actor.

const identity = await authClient.getIdentity();
const actor = Actor.createActor(idlFactory, {
  agent: new HttpAgent({
    identity,
  }),
  canisterId,
});

Note: depends on @astrox/agent, @astrox/authentication, and @astrox/identity.