0.0.8 • Published 8 months ago
@rightbrain/react-implicit v0.0.8
@rightbrain/react-implicit
React components and hooks for setting up implicit OAuth flow and interacting with the RightBrain AI.
Installation
npm install @rightbrain/react-implicit @rightbrain/sdk
or with yarn
yarn add @rightbrain/react-implicit @rightbrain/sdk
or with pnpm
pnpm add @rightbrain/react-implicit @rightbrain/sdkUsage
This package provides a React context provider that handles the OAuth 2.0 implicit flow and makes the access token available to your application.
import { RightBrainProvider, useTask } from "@rightbrain/react-implicit"
function App() {
  return (
    <RightBrainProvider
      rightbrainUrl="https://api.rightbrain.ai"
      organizationId="your-org-id"
      projectId="your-project-id"
      clientId="your-client-id"
      authEndpoint="https://auth.rightbrain.ai/oauth2/auth"
    >
      <YourComponents />
    </RightBrainProvider>
  )
}OAuth Flow
The provider automatically handles the OAuth 2.0 implicit flow:
- If no access token is present, it redirects to the auth endpoint
 - After successful authentication, captures the token from the URL hash
 - Stores the token and makes it available through the context
 - Cleans up the URL by removing the hash parameters
 
Components
RightBrainProvider
Provider component that must wrap your application to use RightBrain hooks.
Props
| Prop | Type | Description | 
|---|---|---|
rightbrainUrl | string | Base URL for the RightBrain API | 
organizationId | string | Your organization ID | 
projectId | string | Your project ID | 
clientId | string | OAuth client ID | 
authEndpoint | string | OAuth authorization endpoint | 
Hooks
useTask
Hook for executing RightBrain tasks with the authenticated token.
function MyComponent() {
  const { data, isLoading } = useTask("task-id", {
    // task parameters
  })
  if (isLoading) return <div>Loading...</div>
  return <div>{/ render your data /}</div>
}Security Considerations
This package implements the OAuth 2.0 implicit flow, which is designed for public clients (like browser-based applications). The access token is stored in memory and is not persisted between page reloads.