@@ -6,31 +6,35 @@ const jwt = require('jsonwebtoken')
66
77//NOSONAR const uuid = require('uuid/v4')
88//NOSONAR const qrcode = require('qrcode')
9- let COOKIE_HTTPONLY , COOKIE_SAMESITE , COOKIE_SECURE , COOKIE_MAXAGE , COOKIE_DOMAIN ,
10- USE_OTP , OTP_EXPIRY , CORS_OPTIONS ,
11- AUTH_REFRESH_URL , AUTH_USER_FIELD_LOGIN , AUTH_USER_FIELD_PASSWORD , AUTH_USER_FIELD_GAKEY , AUTH_USER_FIELD_ID_FOR_JWT , AUTH_USER_FIELDS_JWT_PAYLOAD ,
12- JWT_ALG , JWT_SECRET , JWT_REFRESH_SECRET , JWT_EXPIRY , JWT_REFRESH_EXPIRY , JWT_CERTS , JWT_REFRESH_CERTS ,
13- JWT_REFRESH_STORE , AUTH_USER_STORE , AUTH_USER_STORE_NAME , JWT_REFRESH_STORE_NAME ,
14- setRefreshToken , getRefreshToken , revokeRefreshToken , setRefreshTokenStoreName , setTokenService , setUserService ,
9+
10+ //TOREMOVE let COOKIE_HTTPONLY, COOKIE_SAMESITE, COOKIE_SECURE, COOKIE_MAXAGE, COOKIE_DOMAIN ,
11+ // AUTH_REFRESH_URL, AUTH_USER_FIELD_LOGIN, AUTH_USER_FIELD_PASSWORD, AUTH_USER_FIELD_GAKEY, AUTH_USER_FIELD_ID_FOR_JWT, AUTH_USER_FIELDS_JWT_PAYLOAD,
12+ // JWT_REFRESH_STORE, AUTH_USER_STORE, AUTH_USER_STORE_NAME, JWT_REFRESH_STORE_NAME ,
13+
14+ let setRefreshToken , getRefreshToken , revokeRefreshToken , setRefreshTokenStoreName , setTokenService , setUserService ,
1515 findUser , updateUser ,
1616 setAuthUserStoreName
1717
18+ const {
19+ COOKIE_HTTPONLY , COOKIE_SAMESITE , COOKIE_SECURE , COOKIE_MAXAGE , COOKIE_DOMAIN ,
20+ AUTH_REFRESH_URL , AUTH_USER_FIELD_LOGIN , AUTH_USER_FIELD_PASSWORD , AUTH_USER_FIELD_GAKEY , AUTH_USER_FIELD_ID_FOR_JWT , AUTH_USER_FIELDS_JWT_PAYLOAD = '' ,
21+ JWT_REFRESH_STORE = 'keyv' ,
22+ AUTH_USER_STORE ,
23+ AUTH_USER_STORE_NAME ,
24+ JWT_REFRESH_STORE_NAME ,
25+
26+ USE_OTP ,
27+ JWT_ALG , JWT_EXPIRY , JWT_REFRESH_EXPIRY ,
28+ JWT_PRIVATE_KEY , JWT_CERTIFICATE , JWT_REFRESH_PRIVATE_KEY , JWT_REFRESH_CERTIFICATE , JWT_SECRET , JWT_REFRESH_SECRET
29+ } = process . env
30+
1831const userOps = {
1932 findUser : null ,
2033 updateUser : null
2134}
2235
23- const setupAuth = ( tokenService , userService , options = global . CONFIG ) => {
24- ( {
25- COOKIE_HTTPONLY , COOKIE_SAMESITE , COOKIE_SECURE , COOKIE_MAXAGE , COOKIE_DOMAIN ,
26- USE_OTP , OTP_EXPIRY , CORS_OPTIONS ,
27- AUTH_REFRESH_URL , AUTH_USER_FIELD_LOGIN , AUTH_USER_FIELD_PASSWORD , AUTH_USER_FIELD_GAKEY , AUTH_USER_FIELD_ID_FOR_JWT , AUTH_USER_FIELDS_JWT_PAYLOAD = '' ,
28- JWT_ALG , JWT_SECRET , JWT_REFRESH_SECRET , JWT_EXPIRY , JWT_REFRESH_EXPIRY , JWT_CERTS , JWT_REFRESH_CERTS ,
29-
30- JWT_REFRESH_STORE = 'keyv' , AUTH_USER_STORE ,
31- AUTH_USER_STORE_NAME , JWT_REFRESH_STORE_NAME
32- } = options || { } ) ;
33-
36+ const setupAuth = ( tokenService , userService ) => {
37+ //NOSONAR ({ } = process.env);
3438 ( { setRefreshToken, getRefreshToken, revokeRefreshToken, setRefreshTokenStoreName, setTokenService } = require ( './' + JWT_REFRESH_STORE ) ) ; // keyv, redis, mongo, knex
3539 ( { findUser, updateUser, setAuthUserStoreName, setUserService } = require ( './' + AUTH_USER_STORE ) ) ; // mongo, knex
3640 userOps . findUser = findUser
@@ -62,9 +66,9 @@ const httpOnlyCookie = () => `HttpOnly;SameSite=${COOKIE_SAMESITE};`
6266const getSecret = ( mode , type ) => {
6367 if ( JWT_ALG . substring ( 0 , 2 ) === 'RS' ) {
6468 if ( mode === 'sign' ) {
65- return type === 'refresh' ? JWT_REFRESH_CERTS . key : JWT_CERTS . key
69+ return type === 'refresh' ? JWT_REFRESH_PRIVATE_KEY : JWT_PRIVATE_KEY
6670 } else {
67- return type === 'refresh' ? JWT_REFRESH_CERTS . cert : JWT_CERTS . cert
71+ return type === 'refresh' ? JWT_REFRESH_CERTIFICATE : JWT_CERTIFICATE
6872 }
6973 }
7074 return type === 'refresh' ? JWT_REFRESH_SECRET : JWT_SECRET
@@ -100,13 +104,12 @@ const createToken = async (user) => { // Create a tokens & data from user
100104
101105 options . expiresIn = JWT_REFRESH_EXPIRY
102106 const refresh_token = jwt . sign ( { id } , getSecret ( 'sign' , 'refresh' ) , options ) // store only ID in refresh token?
103-
104107 await setRefreshToken ( id , refresh_token ) // store in DB or Cache
105108 return {
106109 access_token,
107110 refresh_token,
108111 user_meta
109- }
112+ }
110113}
111114
112115const setTokensToHeader = ( res , { access_token, refresh_token} ) => {
0 commit comments