fix url-safe base64 jwt encoding
This commit is contained in:
		
							parent
							
								
									6f86d6ea6c
								
							
						
					
					
						commit
						0e7d7ecaea
					
				| @ -64,6 +64,8 @@ | |||||||
|     return argsParsed; |     return argsParsed; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|  |   // these might not really belong in core... not sure
 | ||||||
|  |   // there should be node.js- and browser-specific versions probably
 | ||||||
|   core.utils = { |   core.utils = { | ||||||
|     urlSafeBase64ToBase64: function (b64) { |     urlSafeBase64ToBase64: function (b64) { | ||||||
|       // URL-safe Base64 to Base64
 |       // URL-safe Base64 to Base64
 | ||||||
| @ -95,17 +97,19 @@ | |||||||
|       return { |       return { | ||||||
|         header: JSON.parse(jsons[0]) |         header: JSON.parse(jsons[0]) | ||||||
|       , payload: JSON.parse(jsons[1]) |       , payload: JSON.parse(jsons[1]) | ||||||
|       , signature: parts[2] |       , signature: parts[2] // should remain url-safe base64
 | ||||||
|       }; |       }; | ||||||
|     } |     } | ||||||
|     // encode-only (no signature)
 |     // encode-only (no signature)
 | ||||||
|   , encode: function (parts) { |   , encode: function (parts) { | ||||||
|       parts.header = parts.header || { alg: 'none', typ: 'jwt' }; |       parts.header = parts.header || { alg: 'none', typ: 'jwt' }; | ||||||
|       parts.signature = parts.signature || ''; |       parts.signature = parts.signature || ''; | ||||||
|  | 
 | ||||||
|  |       var btoa = exports.btoa || require('btoa'); | ||||||
|       var result = [ |       var result = [ | ||||||
|         core.utils.base64ToUrlSafeBase64(JSON.stringify(parts.header, null)) |         core.utils.base64ToUrlSafeBase64(btoa(JSON.stringify(parts.header, null))) | ||||||
|       , core.utils.base64ToUrlSafeBase64(JSON.stringify(parts.payload, null)) |       , core.utils.base64ToUrlSafeBase64(btoa(JSON.stringify(parts.payload, null))) | ||||||
|       , parts.signature |       , parts.signature // should already be url-safe base64
 | ||||||
|       ].join('.'); |       ].join('.'); | ||||||
| 
 | 
 | ||||||
|       return result; |       return result; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user