Implement changes for API authentication and Swagger UI (#541)
* initial token-based-api login handler * add token schema and validation * initial import of pyro3d api code * basic Swagger spec support * Merge in working copy of API/Device.pm * Fix some error handling for API/Device.pm * Break out utility functions into separate file, to allow other api portions to use * Add NodeIP support. * Add nodeip plugin to config * remove double define of "plugin:" (#448) disclaimer: i did not test this is any way, came across it when looking for something else. * only AuthZ header for api use, and alway regen key on login * use RFC7235 * workaround for Swagger plugin weird response body * do not autodiscover swagger routes * code formatting only * move api util to utils area * initial full swagger spec for nodeip search * add api user role and fix api auth failure response * update version of swagger-ui to 3.20.3 * add more openapi defs * fixes to SQL and api spec * clean up subs * improvements to login/logout for API * make api logout work * add openapi tags to group operations * allow api params to be generated from DBIC schema spec * remove API calls for nodes and devices * remove some poor assumptions about api calls * tidy up * remove DDP * make login and logout similar * example of api call being handled by ajax call * make the branch authonly
This commit is contained in:
		
							
								
								
									
										60
									
								
								share/swagger-ui/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								share/swagger-ui/index.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,60 @@ | ||||
| <!-- HTML for static distribution bundle build --> | ||||
| <!DOCTYPE html> | ||||
| <html lang="en"> | ||||
|   <head> | ||||
|     <meta charset="UTF-8"> | ||||
|     <title>Swagger UI</title> | ||||
|     <link rel="stylesheet" type="text/css" href="./swagger-ui.css" > | ||||
|     <link rel="icon" type="image/png" href="./favicon-32x32.png" sizes="32x32" /> | ||||
|     <link rel="icon" type="image/png" href="./favicon-16x16.png" sizes="16x16" /> | ||||
|     <style> | ||||
|       html | ||||
|       { | ||||
|         box-sizing: border-box; | ||||
|         overflow: -moz-scrollbars-vertical; | ||||
|         overflow-y: scroll; | ||||
|       } | ||||
|  | ||||
|       *, | ||||
|       *:before, | ||||
|       *:after | ||||
|       { | ||||
|         box-sizing: inherit; | ||||
|       } | ||||
|  | ||||
|       body | ||||
|       { | ||||
|         margin:0; | ||||
|         background: #fafafa; | ||||
|       } | ||||
|     </style> | ||||
|   </head> | ||||
|  | ||||
|   <body> | ||||
|     <div id="swagger-ui"></div> | ||||
|  | ||||
|     <script src="./swagger-ui-bundle.js"> </script> | ||||
|     <script src="./swagger-ui-standalone-preset.js"> </script> | ||||
|     <script> | ||||
|     window.onload = function() { | ||||
|       // Begin Swagger UI call region | ||||
|       const ui = SwaggerUIBundle({ | ||||
|         url: "https://petstore.swagger.io/v2/swagger.json", | ||||
|         dom_id: '#swagger-ui', | ||||
|         deepLinking: true, | ||||
|         presets: [ | ||||
|           SwaggerUIBundle.presets.apis, | ||||
|           SwaggerUIStandalonePreset | ||||
|         ], | ||||
|         plugins: [ | ||||
|           SwaggerUIBundle.plugins.DownloadUrl | ||||
|         ], | ||||
|         layout: "StandaloneLayout" | ||||
|       }) | ||||
|       // End Swagger UI call region | ||||
|  | ||||
|       window.ui = ui | ||||
|     } | ||||
|   </script> | ||||
|   </body> | ||||
| </html> | ||||
		Reference in New Issue
	
	Block a user