Skip to main content

Social Providers

Enabling Social Sign-In Provider

To start with social sign-in, select your project in Nhost Dashboard and go to Settings -> Sign-In Methods.

Implementing sign-in experience

Use the Nhost JavaScript SDK and the signIn() method to implement social sign-in for your project.

Example: Sign in a user with GitHub.

nhost.auth.signIn({
provider: 'github'
})

During the sign-in flow, the user is redirected to the provider's website to authenticate. After the user authenticates, they are redirected back to your Nhost project's Client URL by default. You can change where the user gets redirected to after authentication by passing the redirectTo option.

Example: Redirect the user to https://staging.example.com/welcome after they complete the sign-in flow.

nhost.auth.signIn({
provider: 'github'
options: {
redirectTo: "https://staging.example.com/welcome",
},
})

In the example above, it's important to note that the redirectTo URL must be part of the Allowed Redirect URLs of your Nhost project.

Provider OAuth scopes

Scopes are a mechanism in OAuth to allow or limit an application's access to a user's account.

By default, Nhost sets the scope to get the name, email, and avatar URL for each user. Editing scope is not currently supported.

Provider OAuth Tokens

Nhost saves both access and refresh tokens for each user and provider in the auth.user_providers table. These tokens can be used to interact with the provider if needed.