add unsecured jwt
This commit is contained in:
		
							parent
							
								
									35f4708d9a
								
							
						
					
					
						commit
						6f86d6ea6c
					
				| @ -64,6 +64,54 @@ | ||||
|     return argsParsed; | ||||
|   }; | ||||
| 
 | ||||
|   core.utils = { | ||||
|     urlSafeBase64ToBase64: function (b64) { | ||||
|       // URL-safe Base64 to Base64
 | ||||
|       b64 = b64.replace(/-/g, '+').replace(/_/g, '/'); | ||||
|       b64 = (b64 + '===').slice(0, b64.length + (b64.length % 4)); | ||||
|       return b64; | ||||
|     } | ||||
|   , base64ToUrlSafeBase64: function (b64) { | ||||
|       // Base64 to URL-safe Base64
 | ||||
|       b64 = b64.replace(/\+/g, '-').replace(/\//g, '_'); | ||||
|       b64 = b64.replace(/=+/g, ''); | ||||
|       return b64; | ||||
|     } | ||||
|   }; | ||||
|   core.jwt = { | ||||
|     // decode only (no verification)
 | ||||
|     decode: function (str) { | ||||
| 
 | ||||
|       // 'abc.qrs.xyz'
 | ||||
|       // [ 'abc', 'qrs', 'xyz' ]
 | ||||
|       // [ {}, {}, 'foo' ]
 | ||||
|       // { header: {}, payload: {}, signature: }
 | ||||
|       var parts = str.split(/\./g); | ||||
|       var jsons = parts.slice(0, 2).map(function (b64) { | ||||
|         var atob = exports.atob || require('atob'); | ||||
|         return atob(core.utils.urlSafeBase64ToBase64(b64)); | ||||
|       }); | ||||
| 
 | ||||
|       return { | ||||
|         header: JSON.parse(jsons[0]) | ||||
|       , payload: JSON.parse(jsons[1]) | ||||
|       , signature: parts[2] | ||||
|       }; | ||||
|     } | ||||
|     // encode-only (no signature)
 | ||||
|   , encode: function (parts) { | ||||
|       parts.header = parts.header || { alg: 'none', typ: 'jwt' }; | ||||
|       parts.signature = parts.signature || ''; | ||||
|       var result = [ | ||||
|         core.utils.base64ToUrlSafeBase64(JSON.stringify(parts.header, null)) | ||||
|       , core.utils.base64ToUrlSafeBase64(JSON.stringify(parts.payload, null)) | ||||
|       , parts.signature | ||||
|       ].join('.'); | ||||
| 
 | ||||
|       return result; | ||||
|     } | ||||
|   }; | ||||
| 
 | ||||
|   core.authorizationCode = function (/*directive, scope, redirectUri, clientId*/) { | ||||
|     //
 | ||||
|     // Example Authorization Code Request
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user