u
This commit is contained in:
		
							parent
							
								
									df2db84fa8
								
							
						
					
					
						commit
						a5e6d8112c
					
				
							
								
								
									
										20
									
								
								webtoken.js
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								webtoken.js
									
									
									
									
									
								
							| @ -2,13 +2,16 @@ const JsonWebToken = require('jsonwebtoken') | ||||
| 
 | ||||
| const crypto = require('crypto') | ||||
| 
 | ||||
| const my = {} | ||||
| const my = { envar: typeof wo !== 'undefined' ? wo.envar : globalThis.envar || {} } | ||||
| 
 | ||||
| module.exports = { | ||||
|   init (envar) { | ||||
|     my.tokenKey = envar.tokenKey | ||||
|   },     | ||||
|   createToken (content, key) { | ||||
|     my.envar = envar | ||||
|   }, | ||||
|   createToken (content, key = my.envar.tokenKey) { | ||||
|     if (!key) { | ||||
|       console.warn('*** tokenkey is empty! ***') | ||||
|     } | ||||
|     // content 可以是数字,非空字符串或非空对象,不可以是数组。
 | ||||
|     // key 可以未定义,则默认设为空字符串,再转化为哈希。(jsonwebtoken 要求 key 必须有值)
 | ||||
|     try { | ||||
| @ -16,20 +19,23 @@ module.exports = { | ||||
|         content, | ||||
|         crypto | ||||
|           .createHash('sha256') | ||||
|           .update(key || my.tokenKey || wo.envar.tokenKey || '', 'utf8') | ||||
|           .update(key || '', 'utf8') | ||||
|           .digest('hex') | ||||
|       ) | ||||
|     } catch (exp) { | ||||
|       return null | ||||
|     } | ||||
|   }, | ||||
|   verifyToken (token, key) { | ||||
|   verifyToken (token, key = my.envar.tokenKey) { | ||||
|     if (!key) { | ||||
|       console.warn('*** tokenkey is empty! ***') | ||||
|     } | ||||
|     try { | ||||
|       return JsonWebToken.verify( | ||||
|         token, | ||||
|         crypto | ||||
|           .createHash('sha256') | ||||
|           .update(key || my.tokenKey || wo.envar.tokenKey || '', 'utf8') | ||||
|           .update(key || '', 'utf8') | ||||
|           .digest('hex') | ||||
|       ) | ||||
|     } catch (exp) { | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user