Skip to main content

GitHub

In this guide you will learn how to configure your dApp for onboarding users via GitHub authentication.

Prerequisites

Basic Steps

At a high level, you need to perform these four steps for enabling GitHub OAuth authentication in your dApp. Some of these actions are performed using GitHub Developer Settings Dashboard, others using Arcana Dashboard. Finally, you need to integrate the Arcana Auth SDK and trigger GitHub login for dApp users.

Step 1: Choose Login Type: GitHub

  • Go to the Arcana Dashboard:

    https://dashboard.beta.arcana.network

    tip

    If you have already registered your dApp using Arcana Dashboard and obtained an appID, you may skip this step.

  • Register your dApp by creating a new dApp, specifying a name and choosing your preferred Storage Region in the dashboard.

  • You can choose to use defaults for other settings or change them as per your use case. Refer to the how to configure dApp guide for details.

  • Go to the Auth configuration section and copy the redirect URI value displayed there. This will be used in the next step to generate GitHub OAuth credentials.redirect_page

  • Do not close the dashboard browser tab. Open another tab and setup GitHub OAuth. Then revisit the Dashboard tab for completing dApp configuration settings.

Step 2: Use GitHub Developer Settings for OAuth Credentials

  • Go to the GitHub Developer Settings > OAuth Apps and register your dApp as a new GitHub application. github console
  • Enter the application name.
  • Specify the homepage URL where your dApp is deployed.
  • Provide a brief description of your dApp. github config details
  • Use the redirect URI value that you saved in the previous step from the Auth tab of the Arcana Network Dashboard, in the Authorization callback URL field. See here for GitHub OAuth details.
  • Save the newly registered application in GitHub Developer Settings. GitHub will generate a unique ClientID and a secret for this new application entry.GitHub OAuth ClientID
  • Copy and save the Client ID and the secret assigned by GitHub for the newly registered application. It will be required in the next step while completing the Arcana Dashboard dApp configuration.

Step 3: Update GitHub OAuth Client ID and Secret in the Arcana Dashboard

  • Revisit the dashboard Auth configuration tab. Refer to the "GitHub" field and paste the Client ID assigned by GitHub, in the previous step, in the input text field. howto_config_github_clientid
  • Save the settings. Arcana Network assigns an appID to every registered and configured dApp. If you plan to integrate with Arcana Storage SDK, you need to save this appID. howto_app_id
tip

You can revisit Arcana Dashboard later to view and modify configuration settings. The appID is displayed on the top right of your dashboard.

Step 4: Integrate with Arcana Auth SDK and trigger GitHub login

  • Use instructions here to integrate with Arcana Auth SDK

  • Trigger social login for GitHub:

    await auth.requestSocialLogin('github')
  • Check if a user is logged in:

    const connected = await auth.isLoggedIn()
  • Log out an authenticated user:

    await auth.logout()

That is all! 🎉

Your dApp is all set for onboarding users via GitHub OAuth authentication mechanism.

What's Next?

After enabling GitHub OAuth based user sign in, you can further integrate your dApp with Arcana Storage SDK. This will allow your application to store, retrieve or share files across users. All file store and access operations require file owners to sign blockchain transactions using a wallet provider.

Use the Arcana wallet Ethereum provider exposed by Auth SDK for enabling dApp users to sign file storage related transactions securely.

See also