Skip to main content
Glama
AuthContext.tsx1.15 kB
import React, { ReactNode, createContext, useContext } from "react"; import { API } from "../api/api"; import _ from "lodash"; interface AuthProviderProps { children: ReactNode; } interface AuthState { authToken: string | null | undefined; openAiToken: string | null | undefined; refetchAuth: () => void; deleteOpenAiToken: () => void; } const AuthContext = createContext<AuthState | undefined>(undefined); export const AuthProvider: React.FC<AuthProviderProps> = ({ children }) => { const { data, mutate: refetchAuth } = API.useAuth(); const deleteOpenAiToken = async () => { await API.deleteOpenAiToken(); refetchAuth(); }; return ( <AuthContext.Provider value={{ authToken: _.get(data, "authToken", undefined), openAiToken: _.get(data, "openAiToken", undefined), refetchAuth, deleteOpenAiToken, }} > {children} </AuthContext.Provider> ); }; export const useAuth = (): AuthState => { const context = useContext(AuthContext); if (context === undefined) { throw new Error("useAuth must be used within an AuthProvider"); } return context; };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mobile-dev-inc/Maestro'

If you have feedback or need assistance with the MCP directory API, please join our Discord server