@@ -112,7 +112,6 @@ function setToken({ client, app, restApp }) {
112112 return response => {
113113 const { accessToken } = response ;
114114
115- // set manually the JWT for both instances of feathers/client
116115 app . set ( 'accessToken' , accessToken ) ;
117116 restApp . set ( 'accessToken' , accessToken ) ;
118117 client . setJwtToken ( accessToken ) ;
@@ -122,9 +121,18 @@ function setToken({ client, app, restApp }) {
122121}
123122
124123function setCookie ( { app } ) {
124+ return response => app . passport . verifyJWT ( response . accessToken )
125+ . then ( payload => {
126+ const options = payload . exp ? { expires : new Date ( payload . exp * 1000 ) } : undefined ;
127+ cookie . set ( 'feathers-jwt' , app . get ( 'accessToken' ) , options ) ;
128+ return response ;
129+ } ) ;
130+ }
131+
132+ function setUser ( { app, restApp } ) {
125133 return response => {
126- const options = response . expires ? { expires : response . expires / ( 60 * 60 * 24 * 1000 ) } : undefined ;
127- cookie . set ( 'feathers-jwt ' , app . get ( 'accessToken' ) , options ) ;
134+ app . set ( 'user' , response . user ) ;
135+ restApp . set ( 'user ' , response . user ) ;
128136 return response ;
129137 } ;
130138}
@@ -140,7 +148,10 @@ export function isLoaded(globalState) {
140148export function load ( ) {
141149 return {
142150 types : [ LOAD , LOAD_SUCCESS , LOAD_FAIL ] ,
143- promise : ( { client } ) => client . get ( '/auth/load' )
151+ promise : ( { app, restApp, client } ) => restApp . authenticate ( )
152+ . then ( setToken ( { client, app, restApp } ) )
153+ . then ( setCookie ( { app } ) )
154+ . then ( setUser ( { app, restApp } ) )
144155 } ;
145156}
146157
@@ -160,12 +171,9 @@ export function login(strategy, data, validation = true) {
160171 strategy,
161172 socketId
162173 } )
163- . then ( setToken ( { client, restApp , app } ) )
174+ . then ( setToken ( { client, app , restApp } ) )
164175 . then ( setCookie ( { app } ) )
165- . then ( response => {
166- app . set ( 'user' , response . user ) ;
167- return response ;
168- } )
176+ . then ( setUser ( { app, restApp } ) )
169177 . catch ( validation ? catchValidation : error => Promise . reject ( error ) )
170178 } ;
171179}
0 commit comments