Skip to main content

Self Service RBAC

The Warrant Self Service Dashboard is a Warrant-hosted page you can embed into your application to allow users to manage their own organization's roles and permissions. This quickstart will show you how to setup the Self Service Dashboard in your application.

note

Using the Self Service Dashboard requires that you've already setup role based access control. Before going through this guide, make sure you've implemented role based access control.

Server Setup

Create a Self Service Dashboard Session

Add a POST endpoint on your server that creates a Self Service Dashboard Session for the logged in user and redirects to the self service URL generated by Warrant. Pass in a valid redirect URL to which the user will be redirected when their Self Service Dashboard session expires or when they navigate back to your website.

In a POST /create-self-service-session Endpoint

Using async/await
const selfServiceSessionUrl = await warrantClient.createSelfServiceSession(
{ userId, tenantId },
"https://your-website.com/account"
);

// Redirect to selfServiceSessionUrl
Using Promises
warrantClient
.createSelfServiceSession({ userId, tenantId }, "https://your-website.com/account")
.then((selfServiceUrl) => {
// Redirect to selfServiceSessionUrl
})
.catch((error) => console.log(error));

Client Setup

Add a Button Directing to the Self Service Dashboard

Add a Button in your application's account management flow. When your users click this button, they'll be redirected to the Warrant-hosted Self Service Dashboard where they can manage their organization's roles and permissions.

<form action="/create-self-service-session" method="POST">
<button type="submit">Manage Permissions</button>
</form>