<!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>