Fix azure-saml flow

This commit is contained in:
Tuan Dang
2023-10-18 11:49:57 +01:00
parent 66bfab1994
commit 076fe58325
6 changed files with 19 additions and 9 deletions
+4 -1
View File
@@ -13,7 +13,10 @@ router.get(
const options = {
failureRedirect: "/",
additionalParams: {
RelayState: req.query.callback_port ?? ""
RelayState: JSON.stringify({
spInitiated: true,
callbackPort: req.query.callback_port ?? ""
})
},
};
passport.authenticate("saml", options)(req, res, next);
+4 -2
View File
@@ -312,7 +312,9 @@ const initializePassport = async () => {
}
if (ssoConfig.authProvider.toString() === AuthMethod.AZURE_SAML.toString()) {
samlConfig.audience = `spn:${ssoConfig.issuer}`;
if (req.body.RelayState && JSON.parse(req.body.RelayState).spInitiated) {
samlConfig.audience = `spn:${ssoConfig.issuer}`;
}
}
req.ssoConfig = ssoConfig;
@@ -407,7 +409,7 @@ const initializePassport = async () => {
authMethod: req.ssoConfig.authProvider,
isUserCompleted,
...(req.body.RelayState ? {
callbackPort: req.body.RelayState as string
callbackPort: JSON.parse(req.body.RelayState).callbackPort as string
} : {})
},
expiresIn: await getJwtProviderAuthLifetime(),