rsnext/examples/with-next-auth
Luc Leray 8eaabe2fb0
Fix deploy buttons URLs (#20834)
Fix all deploy button URLs in the Next.js repo to follow the following format:
```
https://vercel.com/new/git/external?repository-url=https://github.com/vercel/next.js/tree/canary/examples/<EXAMPLE_NAME>&project-name=<EXAMPLE_NAME>&repository-name=<EXAMPLE_NAME>
```

The detailed docs for the Deploy Button can be found here: https://vercel.com/docs/more/deploy-button.

Also updates legacy Vercel import flow URLs (starting with vercel.com/import or with vercel.com/new/project), to use the new vercel.com/new URLs.

---

For example, for the `hello-world` example:

The URL is https://vercel.com/new/git/external?repository-url=https://github.com/vercel/next.js/tree/canary/examples/hello-world&project-name=hello-world&repository-name=hello-world

And the deploy button looks like this:
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/git/external?repository-url=https://github.com/vercel/next.js/tree/canary/examples/hello-world&project-name=hello-world&repository-name=hello-world)

---

For reference, I used the following regexes to search for the incorrect URLs

```
\(https://vercel.com/import/git\?s=https://github.com/vercel/next.js/tree/canary/examples/(.*)\)
\(https://vercel.com/import/git\?c=1&s=https://github.com/vercel/next.js/tree/canary/examples/([^&]*)(.*)\)
\(https://vercel.com/import/project\?template=https://github.com/vercel/next.js/tree/canary/examples/(.*)\)
https://vercel.com/import/git
https://vercel.com/import/select-scope
https://vercel.com/import
https://vercel.com/new/project
```
2021-01-07 01:40:29 +00:00
..
components Add 'with-next-auth' example (#14530) 2020-06-24 22:24:02 +00:00
pages Example: with-next-auth updated to v3 (#17266) 2020-09-21 19:51:52 +00:00
.env.local.example Example: with-next-auth updated to v3 (#17266) 2020-09-21 19:51:52 +00:00
.gitignore Added .gitignore to examples that are deployed to vercel (#15127) 2020-07-16 10:52:23 -04:00
package.json Example: with-next-auth updated to v3 (#17266) 2020-09-21 19:51:52 +00:00
README.md Fix deploy buttons URLs (#20834) 2021-01-07 01:40:29 +00:00
styles.css Add 'with-next-auth' example (#14530) 2020-06-24 22:24:02 +00:00

NextAuth.js Example

Next.js example with next-auth, an open source, easy to use, and secure by default authentication library.

How to use

Copy the .env.local.example file in this directory to .env.local (which will be ignored by Git):

cp .env.local.example .env.local

Then, you'll need to fill at least one of the authentication providers by adding the required secrets for it, be that in the form of OAuth keys/secrets from a provider (Google, Twitter, etc.) or an SMTP connection string to enable email authentication.

More details about the providers can be found here, and for a more complete introduction to next-auth check out their introduction guide

It is vital that you know the deployment URL and define it in the environment file.

Execute create-next-app with npm or Yarn to bootstrap the example:

npx create-next-app --example with-next-auth with-next-auth-app
# or
yarn create next-app --example with-next-auth with-next-auth-app

Deploy it to the cloud with Vercel (Documentation).

Note: For production you need to know in advance the domain (deployment URL) of your application, as it would be required for OAuth to work, once you have it set it to the NEXTAUTH_URL environment variable under the settings of your Vercel project.