Skip to content

Commit

Permalink
Merge pull request #328 from sparcs-kaist/#324-bug-missing-req-in-joinus
Browse files Browse the repository at this point in the history
머지는 영어로 머지?
  • Loading branch information
withSang authored Aug 23, 2023
2 parents cf2f108 + 0fb2e79 commit fb55f72
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 5 deletions.
11 changes: 7 additions & 4 deletions src/services/auth.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ const transUserData = (userData) => {
return info;
};

const joinus = async (userData) => {
const joinus = async (req, userData) => {
const newUser = new userModel({
id: userData.id,
name: userData.name,
Expand Down Expand Up @@ -69,7 +69,7 @@ const tryLogin = async (req, res, userData, redirectOrigin, redirectPath) => {
"_id name id withdraw ban"
);
if (!user) {
await joinus(userData);
await joinus(req, userData);
return tryLogin(req, res, userData, redirectOrigin, redirectPath);
}
if (user.name != userData.name) {
Expand All @@ -95,7 +95,7 @@ const tryLogin = async (req, res, userData, redirectOrigin, redirectPath) => {
} catch (err) {
logger.error(err);
const redirectUrl = new URL("/login/fail", redirectOrigin).href;
res.redirect(ssoLogoutUrl);
res.redirect(redirectUrl);
}
};

Expand All @@ -114,7 +114,10 @@ const sparcsssoHandler = (req, res) => {
};

const sparcsssoCallbackHandler = (req, res) => {
const { state, redirectOrigin, redirectPath } = req.session?.loginAfterState;
const loginAfterState = req.session?.loginAfterState;
if (!loginAfterState)
return res.status(400).send("SparcsssoCallbackHandler : invalid request");
const { state, redirectOrigin, redirectPath } = loginAfterState;
const stateForCmp = req.body.state || req.query.state;

req.session.loginAfterState = undefined;
Expand Down
5 changes: 4 additions & 1 deletion src/services/auth.replace.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,10 @@ const createUserData = (id) => {

const loginReplaceHandler = (req, res) => {
const { id } = req.body;
const { redirectOrigin, redirectPath } = req.session?.loginAfterState;
const loginAfterState = req.session?.loginAfterState;
if (!loginAfterState)
return res.status(400).send("SparcsssoCallbackHandler : invalid request");
const { redirectOrigin, redirectPath } = loginAfterState;
tryLogin(req, res, createUserData(id), redirectOrigin, redirectPath);
};

Expand Down

0 comments on commit fb55f72

Please sign in to comment.