Slices, an extension script for CostaPy
This commit is contained in:
		
							parent
							
								
									8fa748fd62
								
							
						
					
					
						commit
						a2df8314dc
					
				
							
								
								
									
										0
									
								
								slices/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								slices/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										13
									
								
								slices/bodyfetcher.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								slices/bodyfetcher.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					import cherrypy
 | 
				
			||||||
 | 
					import cherrypy_cors
 | 
				
			||||||
 | 
					import json
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def body_json():
 | 
				
			||||||
 | 
					    result = None
 | 
				
			||||||
 | 
					    if cherrypy.request.method == 'OPTIONS':
 | 
				
			||||||
 | 
					        cherrypy_cors.preflight(allowed_methods=['GET', 'POST'])
 | 
				
			||||||
 | 
					    if cherrypy.request.method == 'POST':
 | 
				
			||||||
 | 
					        cherrypy.serving.response.headers['Content-Type'] = 'application/json'
 | 
				
			||||||
 | 
					        body_request = cherrypy.request.body.read()
 | 
				
			||||||
 | 
					        result = json.loads(body_request.decode())
 | 
				
			||||||
 | 
					    return result
 | 
				
			||||||
							
								
								
									
										23
									
								
								slices/tokenguard.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								slices/tokenguard.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					from cryptography.hazmat.primitives import serialization
 | 
				
			||||||
 | 
					import jwt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def encode(payload, id_rsa, passphrase):
 | 
				
			||||||
 | 
					    private_key = open(id_rsa, 'r').read()
 | 
				
			||||||
 | 
					    key         = serialization.load_ssh_private_key(private_key.encode(), password=passphrase)
 | 
				
			||||||
 | 
					    token       = jwt.encode(
 | 
				
			||||||
 | 
					        payload     = payload,
 | 
				
			||||||
 | 
					        key         = key,
 | 
				
			||||||
 | 
					        algorithm   = 'RS256'
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					    return token
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def decode(token, id_rsa):
 | 
				
			||||||
 | 
					    public_key  = open(id_rsa, 'r').read()
 | 
				
			||||||
 | 
					    key         = serialization.load_ssh_public_key(public_key.encode())
 | 
				
			||||||
 | 
					    header      = jwt.get_unverified_header(token)
 | 
				
			||||||
 | 
					    payload     = jwt.decode(
 | 
				
			||||||
 | 
					        jwt         = token,
 | 
				
			||||||
 | 
					        key         = key,
 | 
				
			||||||
 | 
					        algorithms  = [header['alg'], ]
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					    return payload
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user