Skip to content
This repository has been archived by the owner on Apr 3, 2023. It is now read-only.
/ keycloak-ts Public archive

Typescript porting of Keycloak javascript client 🚧 Under development 🚧

License

Notifications You must be signed in to change notification settings

react-keycloak/keycloak-ts

Repository files navigation

KeycloakTS

Typescript porting of Keycloak javascript client

🚧 WIP: Under development 🚧

NPM (scoped)

License Github Issues

Gitter


Table of Contents


Install

yarn add @react-keycloak/keycloak-ts

or

npm install @react-keycloak/keycloak-ts

Getting Started

KeycloakTS provides a porting of the original Keycloak javascript adapter to allow better extensibility and usage on different platform by using custom adapters.

Create a custom KeycloakAdapter

Create a class which implements the KeycloakAdapter interface

import type { KeycloakAdapter } from '@react-keycloak/keycloak-ts';

// Wrap everything inside ReactNativeKeycloakProvider
class MyCustomAdapter implements KeycloakAdapter {
  ...
};

export default MyCustomAdapter;

Setup Keycloak instance

import { KeycloakClient } from '@react-keycloak/keycloak-ts';

import MyCustomAdapter from './adapter.ts';

// Setup Keycloak client as needed
// Pass initialization options as required
const keycloak = new KeycloakClient({
  url: 'http://keycloak-server/auth',
  realm: 'kc-realm',
  clientId: 'web'
});

// Call init passing a custom adapter

keycloak.init({
  adapter: MyCustomAdapter,
});

export default keycloak;

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT