1- import { apiStatus } from '../lib/util' ;
1+ import { apiStatus , encryptToken , decryptToken } from '../lib/util' ;
22import { Router } from 'express' ;
33import PlatformFactory from '../platform/factory' ;
44import jwt from 'jwt-simple' ;
@@ -68,12 +68,12 @@ export default ({config, db}) => {
6868 */
6969 if ( config . usePriceTiers ) {
7070 userProxy . me ( result ) . then ( ( resultMe ) => {
71- apiStatus ( res , result , 200 , { refreshToken : jwt . encode ( req . body , config . authHashSecret ? config . authHashSecret : config . objHashSecret ) } ) ;
71+ apiStatus ( res , result , 200 , { refreshToken : encryptToken ( jwt . encode ( req . body , config . authHashSecret ? config . authHashSecret : config . objHashSecret ) , config . authHashSecret ? config . authHashSecret : config . objHashSecret ) } ) ;
7272 } ) . catch ( err => {
7373 apiStatus ( res , err , 500 ) ;
7474 } )
7575 } else {
76- apiStatus ( res , result , 200 , { refreshToken : jwt . encode ( req . body , config . authHashSecret ? config . authHashSecret : config . objHashSecret ) } ) ;
76+ apiStatus ( res , result , 200 , { refreshToken : encryptToken ( jwt . encode ( req . body , config . authHashSecret ? config . authHashSecret : config . objHashSecret ) , config . authHashSecret ? config . authHashSecret : config . objHashSecret ) } ) ;
7777 }
7878 } ) . catch ( err => {
7979 apiStatus ( res , err , 500 ) ;
@@ -89,13 +89,16 @@ export default ({config, db}) => {
8989 if ( ! req . body || ! req . body . refreshToken ) {
9090 return apiStatus ( res , 'No refresh token provided' , 500 ) ;
9191 }
92-
93- const decodedToken = jwt . decode ( req . body ? req . body . refreshToken : '' , config . authHashSecret ? config . authHashSecret : config . objHashSecret )
94- if ( ! decodedToken ) {
95- return apiStatus ( res , 'Invalid refresh token provided' , 500 ) ;
92+ try {
93+ const decodedToken = jwt . decode ( req . body ? decryptToken ( req . body . refreshToken , config . authHashSecret ? config . authHashSecret : config . objHashSecret ) : '' , config . authHashSecret ? config . authHashSecret : config . objHashSecret )
94+ if ( ! decodedToken ) {
95+ return apiStatus ( res , 'Invalid refresh token provided' , 500 ) ;
96+ }
97+ } catch ( err ) {
98+ return apiStatus ( res , err . message , 500 ) ;
9699 }
97100 userProxy . login ( decodedToken ) . then ( ( result ) => {
98- apiStatus ( res , result , 200 , { refreshToken : jwt . encode ( decodedToken , config . authHashSecret ? config . authHashSecret : config . objHashSecret ) } ) ;
101+ apiStatus ( res , result , 200 , { refreshToken : encryptToken ( jwt . encode ( decodedToken , config . authHashSecret ? config . authHashSecret : config . objHashSecret ) , config . authHashSecret ? config . authHashSecret : config . objHashSecret ) } ) ;
99102 } ) . catch ( err => {
100103 apiStatus ( res , err , 500 ) ;
101104 } )
0 commit comments