- Generate swagger.json into public/ - Add swagger-ui auto-installation - Add footer link to local swagger-ui - Add /swagger url for using app url. - Fix Swagger-UI version via git tag
		
			
				
	
	
		
			83 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!doctype html>
 | 
						|
<html lang="en-US">
 | 
						|
<body onload="run()">
 | 
						|
</body>
 | 
						|
</html>
 | 
						|
<script>
 | 
						|
    'use strict';
 | 
						|
    function run () {
 | 
						|
        var oauth2 = window.opener.swaggerUIRedirectOauth2;
 | 
						|
        var sentState = oauth2.state;
 | 
						|
        var isValid, qp;
 | 
						|
 | 
						|
        qp = (window.location.hash || location.search).substring(1);
 | 
						|
 | 
						|
        qp = qp ? JSON.parse('{"' + qp.replace(/&/g, '","').replace(/=/g, '":"') + '"}',
 | 
						|
                function (key, value) {
 | 
						|
                    return key === "" ? value : decodeURIComponent(value)
 | 
						|
                }
 | 
						|
        ) : {}
 | 
						|
 | 
						|
        isValid = qp.state === sentState
 | 
						|
 | 
						|
        if (oauth2.auth.schema.get("flow") === "accessCode" && !oauth2.auth.code) {
 | 
						|
            if (!isValid) {
 | 
						|
                oauth2.errCb({
 | 
						|
                    authId: oauth2.auth.name,
 | 
						|
                    source: "auth",
 | 
						|
                    level: "warning",
 | 
						|
                    message: "Authorization may be unsafe, passed state was changed in server Passed state wasn't returned from auth server"
 | 
						|
                });
 | 
						|
            }
 | 
						|
 | 
						|
            if (qp.code) {
 | 
						|
                delete oauth2.state;
 | 
						|
                oauth2.auth.code = qp.code;
 | 
						|
                createForm(oauth2.auth, qp).submit();
 | 
						|
            } else {
 | 
						|
                oauth2.errCb({
 | 
						|
                    authId: oauth2.auth.name,
 | 
						|
                    source: "auth",
 | 
						|
                    level: "error",
 | 
						|
                    message: "Authorization failed: no accessCode came from the server"
 | 
						|
                });
 | 
						|
                window.close();
 | 
						|
            }
 | 
						|
        } else {
 | 
						|
            oauth2.callback({auth: oauth2.auth, token: qp, isValid: isValid});
 | 
						|
            window.close();
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    function createForm(auth, qp) {
 | 
						|
        var form = document.createElement("form");
 | 
						|
        var schema = auth.schema;
 | 
						|
        var action = schema.get("tokenUrl");
 | 
						|
        var name, input;
 | 
						|
 | 
						|
        var fields = {
 | 
						|
            code: qp.code,
 | 
						|
            "redirect_uri": location.protocol + "//" + location.host + location.pathname,
 | 
						|
            "grant_type": "authorization_code",
 | 
						|
            "client_secret": auth.clientSecret,
 | 
						|
            "client_id": auth.clientId
 | 
						|
        }
 | 
						|
 | 
						|
        for ( name in fields ) {
 | 
						|
            input = document.createElement("input");
 | 
						|
            input.name = name;
 | 
						|
            input.value = fields[name];
 | 
						|
            input.type = "hidden";
 | 
						|
            form.appendChild(input);
 | 
						|
        }
 | 
						|
 | 
						|
 | 
						|
        form.method = "POST";
 | 
						|
        form.action = action;
 | 
						|
 | 
						|
        document.body.appendChild(form);
 | 
						|
 | 
						|
        return form;
 | 
						|
    }
 | 
						|
 | 
						|
</script>
 |