GuidesRecipes
DiscordDashboard
DiscordDashboard

usePolyfire

Polyfire provides a hook to simplify the login process of your users in React.

NOTE:

The usePolyfire hook is a React Hook

If you're not using React, please follow this page instead: Importing polyfire

Importing Polyfire

First install the Polyfire SDK:

npm install polyfire-js

Usage

PolyfireProvider

You will need to wrap your app in the Polyfire Provider to be able to use the usePolyfire hook. Pass your project id to the PolyfireProvider

root.render(
  <PolyfireProvider project="your_project_alias">
  	<App />
  </PolyfireProvider>
);

Hook: usePolyfire

The usePolyfire hook exports a client with all the Polyfire functions, to use most of them you will first need to login. The authentification functions are exported like this:

const { auth: { login, logout, status }, models: { generate } } = usePolyfire();

All of the functions except the login function requires the user to be authenticated before calling them. You can check whether you're authenticated with status. status can be authenticated, unauthenticated and loading.

if (status === "authenticated") {
  const haiku = await generate("Generate a hello world haiku");
  console.log(haiku);
}

The login function takes the login provider as a parameter.

<button onClick={() => login("github")}>Login with Github</button>

WARNING: For now, the only login provider available are GitHub, Google and Firebase, we will add more in the future

To logout, use the logout function

<button onClick={() => logout()}>Logout</button>