šŸ“„ next-auth/providers/twitter

File: twitter.md | Updated: 11/15/2025

Source: https://next-auth.js.org/providers/twitter

Skip to main content

šŸŽ‰ NextAuth.js is now part of Better Auth !

Version: v4

On this page

Twitter is currently the only built-in provider using the OAuth 1.0 spec. This means that you won't receive an access_token or refresh_token, but an oauth_token and oauth_token_secret respectively. Remember to add these to your database schema, in case if you are using an Adapter .

Documentation​


https://developer.twitter.com

Configuration​


https://developer.twitter.com/en/apps

Options​


The Twitter Provider comes with a set of default options:

You can override any of the options to suit your own use case.

Example​


import TwitterProvider from "next-auth/providers/twitter";...providers: [  TwitterProvider({    clientId: process.env.TWITTER_CLIENT_ID,    clientSecret: process.env.TWITTER_CLIENT_SECRET  })]...

tip

You must enable the "Request email address from users" option in your app permissions if you want to obtain the users email address.

twitter

OAuth 2.0​


Twitter supports OAuth 2, which is currently opt-in. To enable it, simply add version: "2.0" to your Provider configuration:

TwitterProvider({  clientId: process.env.TWITTER_ID,  clientSecret: process.env.TWITTER_SECRET,  version: "2.0", // opt-in to Twitter OAuth 2.0})

Keep in mind that although this change is easy, it changes how and with which of Twitter APIs you can interact with. Read the official Twitter OAuth 2 documentation for more details.

note

Email is currently not supported by Twitter OAuth 2.0.