Skip to content

Commit be74dd0

Browse files
authored
docs(security): email contact update (#2467)
* chore(docs): email contact update * chore(docs): add [email protected] back
1 parent 9bf867d commit be74dd0

File tree

3 files changed

+49
-53
lines changed

3 files changed

+49
-53
lines changed

CODE_OF_CONDUCT.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,22 @@ appearance, race, religion, or sexual identity and orientation.
1414
Examples of behavior that contributes to creating a positive environment
1515
include:
1616

17-
* Using welcoming and inclusive language
18-
* Being respectful of differing viewpoints and experiences
19-
* Gracefully accepting constructive criticism
20-
* Focusing on what is best for the community
21-
* Showing empathy towards other community members
17+
- Using welcoming and inclusive language
18+
- Being respectful of differing viewpoints and experiences
19+
- Gracefully accepting constructive criticism
20+
- Focusing on what is best for the community
21+
- Showing empathy towards other community members
2222

2323
Examples of unacceptable behavior by participants include:
2424

25-
* The use of sexualized language or imagery and unwelcome sexual attention or
26-
advances
27-
* Trolling, insulting/derogatory comments, and personal or political attacks
28-
* Public or private harassment
29-
* Publishing others' private information, such as a physical or electronic
30-
address, without explicit permission
31-
* Other conduct which could reasonably be considered inappropriate in a
32-
professional setting
25+
- The use of sexualized language or imagery and unwelcome sexual attention or
26+
advances
27+
- Trolling, insulting/derogatory comments, and personal or political attacks
28+
- Public or private harassment
29+
- Publishing others' private information, such as a physical or electronic
30+
address, without explicit permission
31+
- Other conduct which could reasonably be considered inappropriate in a
32+
professional setting
3333

3434
## Our Responsibilities
3535

@@ -55,11 +55,11 @@ further defined and clarified by project maintainers.
5555
## Enforcement
5656

5757
Instances of abusive, harassing, or otherwise unacceptable behavior may be
58-
reported by contacting [email protected]. All complaints will be reviewed and
59-
investigated and will result in a response that is deemed necessary and
60-
appropriate to the circumstances. The project team is obligated to maintain
61-
confidentiality with regard to the reporter of an incident. Further details of
62-
specific enforcement policies may be posted separately.
58+
59+
All complaints will be reviewed and investigated and will result in a response
60+
that is deemed necessary and appropriate to the circumstances. The project team
61+
is obligated to maintain confidentiality with regard to the reporter of an
62+
incident. Further details of specific enforcement policies may be posted separately.
6363

6464
Project maintainers who do not follow or enforce the Code of Conduct in good
6565
faith may face temporary or permanent repercussions as determined by other

SECURITY.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ We request that you contact us directly to report serious issues that might impa
1414

1515
If you contact us regarding a serious issue:
1616

17-
* We will endeavor to get back to you within 72 hours.
18-
* We will aim to publish a fix within 30 days.
19-
* We will disclose the issue (and credit you, with your consent) once a fix to resolve the issue has been released.
20-
* If 90 days has elapsed and we still don't have a fix, we will disclose the issue publicly.
17+
- We will endeavor to get back to you within 72 hours.
18+
- We will aim to publish a fix within 30 days.
19+
- We will disclose the issue (and credit you, with your consent) once a fix to resolve the issue has been released.
20+
- If 90 days has elapsed and we still don't have a fix, we will disclose the issue publicly.
2121

22-
Currently, the best way to report an issue is by emailing [email protected]
22+
Currently, the best way to report an issue is by contacting us via email at [email protected] or [email protected] and [email protected].
2323

2424
For less serious issues (e.g. RFC compliance for unsupported flows or potential issues that may cause a problem future or default behaviour / options) it is appropriate to submit these these publically as bug reports or feature requests or to raise a question to open a discussion around them.

www/docs/faq.md

Lines changed: 26 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,11 @@ You can use also NextAuth.js with any database using a custom database adapter,
2323

2424
### What authentication services does NextAuth.js support?
2525

26-
2726
<p>NextAuth.js includes built-in support for signing in with&nbsp;
2827
{Object.values(require("../providers.json")).sort().join(", ")}.
2928
(See also: <a href="/configuration/providers">Providers</a>)
3029
</p>
3130

32-
3331
NextAuth.js also supports email for passwordless sign in, which is useful for account recovery or for people who are not able to use an account with the configured OAuth services (e.g. due to service outage, account suspension or otherwise becoming locked out of an account).
3432

3533
You can also use a custom based provider to support signing in with a username and password stored in an external database and/or using two factor authentication.
@@ -58,7 +56,6 @@ NextAuth.js is designed as a secure, confidential client and implements a server
5856

5957
It is not intended to be used in native applications on desktop or mobile applications, which typically implement public clients (e.g. with client / secrets embedded in the application).
6058

61-
6259
### Is NextAuth.js supporting TypeScript?
6360

6461
Yes! Check out the [TypeScript docs](/getting-started/typescript)
@@ -83,26 +80,25 @@ If you are using a database with NextAuth.js, you can still explicitly enable JS
8380

8481
### Should I use a database?
8582

86-
* Using NextAuth.js without a database works well for internal tools - where you need to control who is able to sign in, but when you do not need to create user accounts for them in your application.
83+
- Using NextAuth.js without a database works well for internal tools - where you need to control who is able to sign in, but when you do not need to create user accounts for them in your application.
8784

88-
* Using NextAuth.js with a database is usually a better approach for a consumer facing application where you need to persist accounts (e.g. for billing, to contact customers, etc).
85+
- Using NextAuth.js with a database is usually a better approach for a consumer facing application where you need to persist accounts (e.g. for billing, to contact customers, etc).
8986

9087
### What database should I use?
9188

9289
Managed database solutions for MySQL, Postgres and MongoDB (and compatible databases) are well supported from cloud providers such as Amazon, Google, Microsoft and Atlas.
9390

9491
If you are deploying directly to a particular cloud platform you may also want to consider serverless database offerings they have (e.g. [Amazon Aurora Serverless on AWS](https://aws.amazon.com/rds/aurora/serverless/)).
9592

96-
9793
---
9894

99-
## Security
95+
## Security
10096

10197
### I think I've found a security problem, what should I do?
10298

10399
Less serious or edge case issues (e.g. queries about compatibility with optional RFC specifications) can be raised as public issues on GitHub.
104100

105-
If you discover what you think may be a potentially serious security problem, please contact a core team member via a private channel (e.g. via email to [email protected]) or raise a public issue requesting someone get in touch with you via whatever means you prefer for more details.
101+
If you discover what you think may be a potentially serious security problem, please contact a core team member via a private channel (e.g. via email to [email protected] or [email protected] and [email protected]) or raise a public issue requesting someone get in touch with you via whatever means you prefer for more details.
106102

107103
### What is the disclosure policy for NextAuth.js?
108104

@@ -165,60 +161,60 @@ Ultimately if your request is not accepted or is not actively in development, yo
165161

166162
---
167163

168-
## JSON Web Tokens
164+
## JSON Web Tokens
169165

170166
### Does NextAuth.js use JSON Web Tokens?
171167

172168
NextAuth.js supports both database session tokens and JWT session tokens.
173169

174-
* If a database is specified, database session tokens will be used by default.
175-
* If no database is specified, JWT session tokens will be used by default.
170+
- If a database is specified, database session tokens will be used by default.
171+
- If no database is specified, JWT session tokens will be used by default.
176172

177173
You can also choose to use JSON Web Tokens as session tokens with using a database, by explicitly setting the `session: { jwt: true }` option.
178174

179175
### What are the advantages of JSON Web Tokens?
180176

181177
JSON Web Tokens can be used for session tokens, but are also used for lots of other things, such as sending signed objects between services in authentication flows.
182178

183-
* Advantages of using a JWT as a session token include that they do not require a database to store sessions, this can be faster and cheaper to run and easier to scale.
179+
- Advantages of using a JWT as a session token include that they do not require a database to store sessions, this can be faster and cheaper to run and easier to scale.
184180

185-
* JSON Web Tokens in NextAuth.js are secured using cryptographic signing (JWS) by default and it is easy for services and API endpoints to verify tokens without having to contact a database to verify them.
181+
- JSON Web Tokens in NextAuth.js are secured using cryptographic signing (JWS) by default and it is easy for services and API endpoints to verify tokens without having to contact a database to verify them.
186182

187-
* You can enable encryption (JWE) to store include information directly in a JWT session token that you wish to keep secret and use the token to pass information between services / APIs on the same domain.
183+
- You can enable encryption (JWE) to store include information directly in a JWT session token that you wish to keep secret and use the token to pass information between services / APIs on the same domain.
188184

189-
* You can use JWT to securely store information you do not mind the client knowing even without encryption, as the JWT is stored in a server-readable-only-token so data in the JWT is not accessible to third party JavaScript running on your site.
185+
- You can use JWT to securely store information you do not mind the client knowing even without encryption, as the JWT is stored in a server-readable-only-token so data in the JWT is not accessible to third party JavaScript running on your site.
190186

191187
### What are the disadvantages of JSON Web Tokens?
192188

193-
* You cannot as easily expire a JSON Web Token - doing so requires maintaining a server side blocklist of invalid tokens (at least until they expire) and checking every token against the list every time a token is presented.
189+
- You cannot as easily expire a JSON Web Token - doing so requires maintaining a server side blocklist of invalid tokens (at least until they expire) and checking every token against the list every time a token is presented.
194190

195191
Shorter session expiry times are used when using JSON Web Tokens as session tokens to allow sessions to be invalidated sooner and simplify this problem.
196192

197193
NextAuth.js client includes advanced features to mitigate the downsides of using shorter session expiry times on the user experience, including automatic session token rotation, optionally sending keep alive messages to prevent short lived sessions from expiring if there is an window or tab open, background re-validation, and automatic tab/window syncing that keeps sessions in sync across windows any time session state changes or a window or tab gains or loses focus.
198194

199-
* As with database session tokens, JSON Web Tokens are limited in the amount of data you can store in them. There is typically a limit of around 4096 bytes per cookie, though the exact limit varies between browsers, proxies and hosting services. If you want to support most browsers, then do not exceed 4096 bytes per cookie. If you want to save more data, you will need to persist your sessions in a database (Source: [browsercookielimits.iain.guru](http://browsercookielimits.iain.guru/))
195+
- As with database session tokens, JSON Web Tokens are limited in the amount of data you can store in them. There is typically a limit of around 4096 bytes per cookie, though the exact limit varies between browsers, proxies and hosting services. If you want to support most browsers, then do not exceed 4096 bytes per cookie. If you want to save more data, you will need to persist your sessions in a database (Source: [browsercookielimits.iain.guru](http://browsercookielimits.iain.guru/))
200196

201197
The more data you try to store in a token and the more other cookies you set, the closer you will come to this limit. If you wish to store more than ~4 KB of data you're probably at the point where you need to store a unique ID in the token and persist the data elsewhere (e.g. in a server-side key/value store).
202198

203-
* Data stored in an encrypted JSON Web Token (JWE) may be compromised at some point.
199+
- Data stored in an encrypted JSON Web Token (JWE) may be compromised at some point.
204200

205201
Even if appropriately configured, information stored in an encrypted JWT should not be assumed to be impossible to decrypt at some point - e.g. due to the discovery of a defect or advances in technology.
206202

207203
Avoid storing any data in a token that might be problematic if it were to be decrypted in the future.
208204

209-
* If you do not explicitly specify a secret for NextAuth.js, existing sessions will be invalidated any time your NextAuth.js configuration changes, as NextAuth.js will default to an auto-generated secret.
205+
- If you do not explicitly specify a secret for NextAuth.js, existing sessions will be invalidated any time your NextAuth.js configuration changes, as NextAuth.js will default to an auto-generated secret.
210206

211207
If using JSON Web Token you should at least specify a secret and ideally configure public/private keys.
212208

213209
### Are JSON Web Tokens secure?
214210

215211
By default tokens are signed (JWS) but not encrypted (JWE), as encryption adds additional overhead and reduces the amount of space available to store data (total cookie size for a domain is limited to 4KB).
216212

217-
* JSON Web Tokens in NextAuth.js use JWS and are signed using HS512 with an auto-generated key.
213+
- JSON Web Tokens in NextAuth.js use JWS and are signed using HS512 with an auto-generated key.
218214

219-
* If encryption is enabled by setting `jwt: { encryption: true }` option then the JWT will _also_ use JWE to encrypt the token, using A256GCM with an auto-generated key.
215+
- If encryption is enabled by setting `jwt: { encryption: true }` option then the JWT will _also_ use JWE to encrypt the token, using A256GCM with an auto-generated key.
220216

221-
You can specify other valid algorithms - [as specified in RFC 7518](https://tools.ietf.org/html/rfc7517) - with either a secret (for symmetric encryption) or a public/private key pair (for a symmetric encryption).
217+
You can specify other valid algorithms - [as specified in RFC 7518](https://tools.ietf.org/html/rfc7517) - with either a secret (for symmetric encryption) or a public/private key pair (for a symmetric encryption).
222218

223219
NextAuth.js will generate keys for you, but this will generate a warning at start up.
224220

@@ -228,14 +224,14 @@ Using explicit public/private keys for signing is strongly recommended.
228224

229225
NextAuth.js includes a largely complete implementation of JSON Object Signing and Encryption (JOSE):
230226

231-
* [RFC 7515 - JSON Web Signature (JWS)](https://tools.ietf.org/html/rfc7515)
232-
* [RFC 7516 - JSON Web Encryption (JWE)](https://tools.ietf.org/html/rfc7516)
233-
* [RFC 7517 - JSON Web Key (JWK)](https://tools.ietf.org/html/rfc7517)
234-
* [RFC 7518 - JSON Web Algorithms (JWA)](https://tools.ietf.org/html/rfc7518)
235-
* [RFC 7519 - JSON Web Token (JWT)](https://tools.ietf.org/html/rfc7519)
227+
- [RFC 7515 - JSON Web Signature (JWS)](https://tools.ietf.org/html/rfc7515)
228+
- [RFC 7516 - JSON Web Encryption (JWE)](https://tools.ietf.org/html/rfc7516)
229+
- [RFC 7517 - JSON Web Key (JWK)](https://tools.ietf.org/html/rfc7517)
230+
- [RFC 7518 - JSON Web Algorithms (JWA)](https://tools.ietf.org/html/rfc7518)
231+
- [RFC 7519 - JSON Web Token (JWT)](https://tools.ietf.org/html/rfc7519)
236232

237233
This incorporates support for:
238234

239-
* [RFC 7638 - JSON Web Key Thumbprint](https://tools.ietf.org/html/rfc7638)
240-
* [RFC 7787 - JSON JWS Unencoded Payload Option](https://tools.ietf.org/html/rfc7797)
241-
* [RFC 8037 - CFRG Elliptic Curve ECDH and Signatures](https://tools.ietf.org/html/rfc8037)
235+
- [RFC 7638 - JSON Web Key Thumbprint](https://tools.ietf.org/html/rfc7638)
236+
- [RFC 7787 - JSON JWS Unencoded Payload Option](https://tools.ietf.org/html/rfc7797)
237+
- [RFC 8037 - CFRG Elliptic Curve ECDH and Signatures](https://tools.ietf.org/html/rfc8037)

0 commit comments

Comments
 (0)