Skip to main content
import { View, Button, Text } from 'react-native';
import { useStytchIsAuthorized } from '@stytch/react-native/b2b';

export const AdminPanel = () => {
  const { isAuthorized } = useStytchIsAuthorized('documents', 'edit');

  return isAuthorized ? (
    <Button title="Edit Document" />
  ) : (
    <Text>You don't have permission to edit documents</Text>
  );
};
useStytchIsAuthorized is a hook that returns an authorization verdict on a resource-action pair (that is, whether the logged-in is authorized to perform the specified action on the specified Resource). Given a resource and action, this method will return a boolean value, indicating if the Member is authorized to perform the action on the resource. Returns true if the member can perform the action, false otherwise. If the user is not signed in, this method will always return false. If the resource or action provided are not valid for the configured RBAC policy, this method will return false.
As a best practice, authorization checks for sensitive actions should also occur on the backend.

Parameters

resourceId
string
required
The human-readable ID of the resource to check authorization for.
action
string
required
The action to take on the specified resource.

Response

authorized
boolean
required
true if the Member is authorized to perform the specified action on the specified resource, false otherwise.Will resolve to false if the RBAC policy has not been loaded or if the resource or action provided are not valid for the configured RBAC policy.
fromCache
boolean
Whether the authorization data is from persistent storage.