@@ -41,22 +41,23 @@ exports.handleLaunch = (req, res, next) => {
4141const  provider  =  new  lti . Provider ( consumerKey ,  consumerSecret ,  nonceStore ,  lti . HMAC_SHA1 ) ; 
4242
4343provider . valid_request ( req ,  function ( err ,  isValid )  { 
44- if  ( err  ||  ! isValid )  { 
45- return  next ( err  ||  new  Error ( 'invalid lti' ) ) ; 
46- } 
47- 
48- let  body  =  { } ; 
49- [ 
50- 'roles' ,  'admin' ,  'alumni' ,  'content_developer' ,  'guest' ,  'instructor' , 
51- 'manager' ,  'member' ,  'mentor' ,  'none' ,  'observer' ,  'other' ,  'prospective_student' , 
52- 'student' ,  'ta' ,  'launch_request' ,  'username' ,  'userId' ,  'mentor_user_ids' , 
53- 'context_id' ,  'context_label' ,  'context_title' ,  'body' 
54- ] . forEach ( function ( key )  { 
55- body [ key ]  =  provider [ key ] ; 
56- } ) ; 
57- 
58- 
59- return  res . status ( 200 ) . json ( body ) ; 
44+  if  ( err )  { 
45+  return  next ( err ) ; 
46+  } 
47+  if  ( isValid )  { 
48+  req . session . regenerate ( err  =>  { 
49+  if  ( err )  next ( err ) ; 
50+ 
51+  req . session . contextId  =  provider . context_id ; 
52+  req . session . userId  =  provider . userId ; 
53+  req . session . username  =  provider . username ; 
54+  req . session . ltiConsumer  =  provider . body . tool_consumer_instance_guid ; 
55+ 
56+  return  res . redirect ( 301 ,  '/application' ) ; 
57+  } ) ; 
58+  }  else  { 
59+  return  next ( err ) ; 
60+  } 
6061} ) ; 
6162} ) ; 
6263} ; 
0 commit comments