Skip to content

User Login with Cognito

Estimated time to read: 2 minutes

In this guide, you will learn how a React/Next.js app integrated with the Arcana Auth SDK and Arcana Auth React SDK can onboard users with a custom login UI through Cognito authentication.

Prerequisites

Steps

Using Cognito to onboard users in a React/Next.js app is simple!

Step 1: Use loginWithSocial

App.js
import { useAuth } from "@arcana/auth-react";

function App() {
  const { loading, isLoggedIn, loginWithSocial } = useAuth()

  // custom login UI
  const onConnectClick = async () => {
    try {
      await loginWithSocial('aws'); 
    } catch (err) {
      console.log({ err });
      // Handle error
    }
  };

  if (loading) {
    return <p>Loading...</p>;
  }
  if (!isLoggedIn) {
    return (
      <button onClick={onConnectClick}>
        Connect with Cognito
      </button>
    );
  }
}

export default App

That is all!

The React/Next.js app is all set for onboarding users via Cognito.

Arcana JWT Token

Upon successful authentication, Arcana Auth SDK returns a unique JWT token to the app called the Arcana JWT Token. App developers can access this token via getUser() method and refer to the loginToken field of the UserInfo object.

Developers can use this token to verify the user and subsequently generate another token for app use if required.

In the future, the Arcana JWT Token will be deprecated. Use userDIDToken to verify user.

Upon successful authentication, Arcana Auth SDK returns a unique DID token to the app called the Arcana DID Token. App developers can access this token via getUser() method and refer to the userDIDToken field of the UserInfo object.

Developers can use this token to verify the user and subsequently generate another token for app use.

What's Next?

Authenticated users can instantly access the in-app Arcana wallet UI for signing blockchain transactions. Use the AuthProvider EIP-1193 standard Ethereum provider to call JSON/RPC functions and Web3 wallet operations in the app. Learn more...

See also


Last update: March 29, 2024 by shaloo, shaloo