Login Component

Our login component provides a simple means to incorporate secure user authentication into React apps. Easily tailor the login UI to fit your project's needs with various customization options.

Component Visuals

To unlock early access to the component Get Access

Installation

To install the Quest react-sdk into your project, follow these steps:

  • Open your terminal/command prompt.

  • Navigate to your project's root directory using the cd command if you're not already there.

  • Run the following command to install the quest-sdk package using npm:

npm install @questlabs/react-sdk

This command will download and install the package and its dependencies into your project.

Make sure your project has npm and Node.js installed, and that you have the necessary permissions to install packages in your project directory.


Props of Login Component

The QuestLogin component accepts the following props

Prop NameTypeRequiredDetails

googleClientId

string

required

The Google Client ID for OAuth 2.0 authentication.

redirectUri

string

required (google login)

The URI where users will be redirected after authentication. Ensure that this URL matches the one configured in your OAuth provider (Google Console).

redirectURL

string

required

The URL where users will be redirected after authentication.

btnColor

string

optional

The background color of the login button

btnTextColor

string

optional

The text color of the login button.

textColor

string

optional

The text color of other UI elements in the component.

backgroundColor

string

optional

The background color of the entire component.

google

boolean

optional

When set to true, you will see only login with Google option

email

boolean

optional

When set to true, you will see only login with Email option

styleConfig

object

optional

An object containing CSS properties for styling various components within the Login process, including headings, form, text area, descriptions, inputs, labels, and buttons.

You can customize the UI with type of styleConfig would be

styleConfig?: {
    Heading?: CSSProperties;
    Description?: CSSProperties;
    Input?: CSSProperties;
    Label?: CSSProperties;
    TextArea?: CSSProperties;
    PrimaryButton?: CSSProperties;
    SecondaryButton?: CSSProperties;
    Form?:CSSProperties
  };

Usage

To integrate the QuestLogin component into your React application, follow these steps

  • Import the CSS: In your JavaScript or TypeScript file where you're using the QuestLogin, import the CSS styles for the component. This ensures that the component's styling is applied correctly.

import '@questlabs/react-sdk/dist/style.css'
  • Import the QuestLogin Component: Import the QuestLogincomponent from the @questlabs/react-sdk package.

  • Import the QuestProvider Component: Import the QuestProvider component from the @questlabs/react-sdk package.

import { QuestProvider, QuestLogin } from '@questlabs/react-sdk';
  • Pass the Required Props: Pass the required props to the QuestProvider. The required props are apiKey, apiSecret, and entityId. and required props for the QuestLogin component are googleClientId, redirectURL, redirectUri

<QuestProvider
  apiKey="your-api-key"
  entityId="your-entity-id"
>
  <QuestLogin
    googleClientId="your-google-client-id"
    redirectUri="your-redirect-uri"
    redirectURL="your-redirect-url"
  />
</QuestProvider>

Replace "your-api-key", and "your-entity-id" with your actual Quest API credentials

Replace "your-google-client-id", "your-redirect-uri", and "your-redirect-url" with your actual configuration details.


Example Usage

Here's an example of how to use the QuestLogin component within your React application

import { QuestProvider, QuestLogin } from '@questlabs/react-sdk';
import '@questlabs/react-sdk/dist/style.css';

function App() {
  return (
    <div>
      <QuestProvider
        apiKey="k-xxxxxdc-ac8f-x1-xxx8b-a175xxxxx"
        entityId="e-xxxx-b75b-xxxx-be9a-ee11f0f0xxxx"
      >
       <QuestLogin
          textColor="bxx"
          btnTextColor="wxxxx"
          btnColor="#8B0xxx"
          backgroundColor="xxxx"
          google={xxx}
          email={xxx}
          googleClientId="103xxxxxxxxxxxxxxxxxxxxxxa.apps.googleusercontent.com"
          redirectUri="http:xxxxxxxxxx"
          redirectURL="http:xxxxxxx"
          styleConfig={}
        />
      </QuestProvider>
    </div>
  );
}

export default App;

Demo

In this video, you'll learn:

  1. How to set up the QuestProvider with your API credentials.

  2. Configuration of the QuestLogin component with required props.

  3. Customization options for the login component.

  4. Integration of the component into your React application.

The above example uses all the props.


Last updated