@@ -21,17 +21,18 @@ const transUserData = (userData) => {
21
21
const kaistInfo = userData . kaist_info ? JSON . parse ( userData . kaist_info ) : { } ;
22
22
23
23
// info.ku_std_no: 학번
24
- // info.isEligible: 카이스트 구성원인지 여부. DB에 저장하지 않음.
24
+ // info.isEligible: 카이스트 구성원인지 여부
25
25
const info = {
26
26
id : userData . uid ,
27
27
sid : userData . sid ,
28
28
name : getFullUsername ( userData . first_name , userData . last_name ) ,
29
29
facebook : userData . facebook_id || "" ,
30
30
twitter : userData . twitter_id || "" ,
31
31
kaist : kaistInfo ?. ku_std_no || "" ,
32
+ kaistType : kaistInfo ?. employeeType || "" , // DB에 저장하지 않음
32
33
sparcs : userData . sparcs_id || "" ,
33
34
email : kaistInfo ?. mail || userData . email ,
34
- isEligible : userPattern . allowedEmployeeTypes . test ( kaistInfo ?. employeeType ) ,
35
+ isEligible : userPattern . allowedEmployeeTypes . test ( kaistInfo ?. employeeType ) , // DB에 저장하지 않음
35
36
} ;
36
37
return info ;
37
38
} ;
@@ -164,6 +165,8 @@ const sparcsssoCallbackHandler = (req, res) => {
164
165
}
165
166
166
167
if ( state !== stateForCmp ) {
168
+ logger . info ( "Login denied: state mismatch" ) ;
169
+
167
170
const redirectUrl = new URL ( "/login/fail" , redirectOrigin ) . href ;
168
171
return res . redirect ( redirectUrl ) ;
169
172
}
@@ -175,7 +178,11 @@ const sparcsssoCallbackHandler = (req, res) => {
175
178
tryLogin ( req , res , userData , redirectOrigin , redirectPath ) ;
176
179
} else {
177
180
// 카이스트 구성원이 아닌 경우, SSO 로그아웃 이후, 로그인 실패 URI 로 이동합니다
178
- const { sid } = userData ;
181
+ const { id, sid, kaist, kaistType } = userData ;
182
+ logger . info (
183
+ `Login denied: not a KAIST member (uid: ${ id } , sid: ${ sid } , kaist: ${ kaist } , kaistType: ${ kaistType } )`
184
+ ) ;
185
+
179
186
const redirectUrl = new URL ( "/login/fail" , redirectOrigin ) . href ;
180
187
const ssoLogoutUrl = ssoClient . getLogoutUrl ( sid , redirectUrl ) ;
181
188
res . redirect ( ssoLogoutUrl ) ;
0 commit comments