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: {
validate(url, provider) {
const uCallback = new URL(url);
const uRedirect = new URL(provider.redirectUri);
validate(callbackURL, provider) {
const defaultCallbackURL = provider.callback;
// The default validation checks that the provided callback's origin matches the provider redirectUri origin
if (uCallback.origin !== uRedirect.origin) {
if (callbackURL !== defaultCallbackURL) {
throw new Error(
`Forbidden callback provided: origins don't match (${uCallback.origin} !== ${uRedirect.origin})`
`Forbidden callback provided: ${callbackURL} !== ${defaultCallbackURL})`
);
}
},