šŸ“„ next-auth/v3/providers/basecamp

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

Source: https://next-auth.js.org/v3/providers/basecamp

Skip to main content

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

This is documentation for NextAuth.js v3, which is no longer actively maintained.

For up-to-date documentation, see the **latest version ** (v4).

Version: v3

On this page

Documentation​


https://github.com/basecamp/api/blob/master/sections/authentication.md

Configuration​


https://launchpad.37signals.com/integrations

Options​


The Basecamp Provider comes with a set of default options:

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

Examples​


Basic profile information​

import Providers from `next-auth/providers`...providers: [  Providers.Basecamp({    clientId: process.env.BASECAMP_CLIENT_ID,    clientSecret: process.env.BASECAMP_CLIENT_SECRET  })]...

note

Using the example above, it is only possible to retrieve profile information such as account id, email and name. If you wish to retrieve user data in relation to a specific team, you must provide a different profileUrl and a custom function to handle profile information as shown in the example below.

Profile information in relation to specific team​

import Providers from `next-auth/providers`...providers: [  Providers.Basecamp({    clientId: process.env.BASECAMP_CLIENT_ID,    clientSecret: process.env.BASECAMP_CLIENT_SECRET,    profileUrl: `https://3.basecampapi.com/${process.env.BASECAMP_TEAM_ID}/my/profile.json`,    profile: (profile) => {      return {        id: profile.id,        name: profile.name,        email: profile.email_address,        image: profile.avatar_url,        admin: profile.admin,        owner: profile.owner      }    }  })]...

tip

The BASECAMP_TEAM_ID is found in the url path of your team's homepage. For example, if the url is https://3.basecamp.com/1234567/projects, then in this case the BASECAMP_TEAM_ID is 1234567