Skip to content

Abstraction for authentication with the Elfsquad API.

Notifications You must be signed in to change notification settings

Elfsquad/authentication

Repository files navigation

Elfsquad Authentication Library

The authentication library allows you to easily authenticate with the Elfsquad API.

Options

  • clientId identifier of your OpenIdClient that can be obtained in the integrations page of your Elfsquad Management System.
  • redirectUri callback entry point of your app.
  • scope (optional) Requested authentication scope. Defaults to Elfskot.Api offline_access.
  • loginUrl (optional) URL of the authentication service. Defaults to https://login.elfsquad.io.

Methods

  • signIn starts the authentication flow.
  • onSignIn returns a promise that is called after the authentication flow has run successfully.
  • isSignedIn returns a promise with a boolean result that indicates if the user is signed in.
  • getAccessToken returns a promise that resolves into access token.

Examples

import { AuthenticationContext } from "@elfsquad/authentication";

var authenticationContext = new AuthenticationContext({
  clientId: "c2a349a9-02ea-4e1e-a59d-65870529f713",
  redirectUri: "https://example.com",
});

authenticationContext
  .onSignIn()
  .then(() => {
    authenticationContext.getAccessToken().then((accessToken) => {
      console.log("accessToken", accessToken);
    });
  })
  .catch((error) => {
    console.error(error);
  });

authenticationContext.isSignedIn().then((isSignedIn) => {
  if (!isSignedIn) {
    authenticationContext.signIn();
  }
});