Compare commits

..

1 Commits

Author SHA1 Message Date
Balázs Orbán
46304838af chore(release): bump version 2022-06-10 12:48:25 +00:00
3 changed files with 10 additions and 13 deletions

View File

@@ -1,6 +1,6 @@
{ {
"name": "@next-auth/sequelize-adapter", "name": "@next-auth/sequelize-adapter",
"version": "1.0.4", "version": "1.0.3",
"description": "Sequelize adapter for next-auth.", "description": "Sequelize adapter for next-auth.",
"homepage": "https://next-auth.js.org", "homepage": "https://next-auth.js.org",
"repository": "https://github.com/nextauthjs/adapters", "repository": "https://github.com/nextauthjs/adapters",
@@ -42,4 +42,4 @@
"jest": { "jest": {
"preset": "@next-auth/adapter-test/jest" "preset": "@next-auth/adapter-test/jest"
} }
} }

View File

@@ -1,6 +1,6 @@
{ {
"name": "next-auth", "name": "next-auth",
"version": "4.5.0", "version": "4.4.0",
"description": "Authentication for Next.js", "description": "Authentication for Next.js",
"homepage": "https://next-auth.js.org", "homepage": "https://next-auth.js.org",
"repository": "https://github.com/nextauthjs/next-auth.git", "repository": "https://github.com/nextauthjs/next-auth.git",
@@ -132,4 +132,4 @@
"**/tests", "**/tests",
"**/__tests__" "**/__tests__"
] ]
} }

View File

@@ -21,11 +21,9 @@ type ConfigError =
let twitterWarned = false let twitterWarned = false
function isValidHttpUrl(url: string, baseUrl: string) { function isValidHttpUrl(url: string) {
try { try {
return /^https?:/.test( return /^https?:/.test(new URL(url).protocol)
new URL(url, url.startsWith("/") ? baseUrl : undefined).protocol
)
} catch { } catch {
return false return false
} }
@@ -59,24 +57,23 @@ export function assertConfig(
const callbackUrlParam = req.query?.callbackUrl as string | undefined const callbackUrlParam = req.query?.callbackUrl as string | undefined
const url = parseUrl(req.host) if (callbackUrlParam && !isValidHttpUrl(callbackUrlParam)) {
if (callbackUrlParam && !isValidHttpUrl(callbackUrlParam, url.base)) {
return new InvalidCallbackUrl( return new InvalidCallbackUrl(
`Invalid callback URL. Received: ${callbackUrlParam}` `Invalid callback URL. Received: ${callbackUrlParam}`
) )
} }
// This is below the callbackUrlParam check because it would obscure the error
if (!req.host) return "NEXTAUTH_URL" if (!req.host) return "NEXTAUTH_URL"
const url = parseUrl(req.host)
const { callbackUrl: defaultCallbackUrl } = defaultCookies( const { callbackUrl: defaultCallbackUrl } = defaultCookies(
options.useSecureCookies ?? url.base.startsWith("https://") options.useSecureCookies ?? url.base.startsWith("https://")
) )
const callbackUrlCookie = const callbackUrlCookie =
req.cookies?.[options.cookies?.callbackUrl?.name ?? defaultCallbackUrl.name] req.cookies?.[options.cookies?.callbackUrl?.name ?? defaultCallbackUrl.name]
if (callbackUrlCookie && !isValidHttpUrl(callbackUrlCookie, url.base)) { if (callbackUrlCookie && !isValidHttpUrl(callbackUrlCookie)) {
return new InvalidCallbackUrl( return new InvalidCallbackUrl(
`Invalid callback URL. Received: ${callbackUrlCookie}` `Invalid callback URL. Received: ${callbackUrlCookie}`
) )