JSPM

@thiva/access-control

3.0.8
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • 0
  • Score
    100M100P100Q8840F
  • License Apache-2.0

Access control module for WSO2 Identity Server front end applications

Package Exports

  • @thiva/access-control
  • @thiva/access-control/dist/src/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@thiva/access-control) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

WSO2 Identity Server - Front-End Access Control Module

A module which will render front end components based on user permissions.

Insight

This module will govern the front end component rendering with the context built using the user permissions retrieved while the login process. The module builds a front end related permission mapping based on the scopes recieved from the backend. The access-control-context-provider.tsx will define the required permission object which will be later used on evaluating components prior to render.

Install

Add following dependency in your package.json file. "@thiva/access-control": "<VERSION>"

Build

pnpm build

Usage

Render Component based on Permission

In order to do this we need to import Show and AccessControlConstants components from the module.

import { AccessControlConstants, Show } from "@thiva/access-control";

<Show when={ AccessControlConstants.PERMISSION }> //Permission requred for successful render
    <Component></Component>
</Show>

Adding a new permission mapping

  1. The new permission should be mapped in the access-control-constants file which will consist all the front end related permissions.

    public static readonly NEW_PERMISSION: string = "scope:delete"; // define a suitable permission string
  2. Add new entries the permissions object in access-control-context-provider file.

        [ AccessControlConstants.NEW_PERMISSION ] : hasRequiredScopes(featureConfig.newFeature,featureConfig.newFeature.scopes.permission, allowedScopes)

License

Licenses this source under the Apache License, Version 2.0 (LICENSE), You may not use this file except in compliance with the License.