fix: make the default callback validation stricter

This commit is contained in:
Convly 2024-04-08 14:48:42 +02:00
parent e762295cbe
commit feeeef6cf9

View File

@ -19,14 +19,12 @@ module.exports = {
}, },
}, },
callback: { callback: {
validate(url, provider) { validate(callbackURL, provider) {
const uCallback = new URL(url); const defaultCallbackURL = provider.callback;
const uRedirect = new URL(provider.redirectUri);
// The default validation checks that the provided callback's origin matches the provider redirectUri origin if (callbackURL !== defaultCallbackURL) {
if (uCallback.origin !== uRedirect.origin) {
throw new Error( throw new Error(
`Forbidden callback provided: origins don't match (${uCallback.origin} !== ${uRedirect.origin})` `Forbidden callback provided: ${callbackURL} !== ${defaultCallbackURL})`
); );
} }
}, },