UNPKG

@simulacrum/auth0-simulator

Version:

Run local instance of Auth0 API for local development and integration testing

66 lines (58 loc) 2.17 kB
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs'); let jsesc = require("jsesc"); jsesc = require_rolldown_runtime.__toESM(jsesc); //#region src/views/web-message.ts const webMessage = ({ state, code, redirect_uri, nonce }) => { let data = (0, jsesc.default)({ redirect_uri }, { json: true, isScriptContext: true }); return ` <!DOCTYPE html> <html lang="en"> <head> <title>Authorization Response</title> </head> <body> <script ${nonce ? `nonce="${nonce}"` : ""} type="application/javascript"> (function(window, document) { var data = ${data}; var targetOrigin = data.redirect_uri; var webMessageRequest = {}; var authorizationResponse = { type: "authorization_response", response: { "code":"${code}", "state":"${state}"} }; var mainWin = (window.opener) ? window.opener : window.parent; if (webMessageRequest["web_message_uri"] && webMessageRequest["web_message_target"]) { window.addEventListener("message", function(evt) { if (evt.origin != targetOrigin) { return; } switch (evt.data.type) { case "relay_response": var messageTargetWindow = evt.source.frames[webMessageRequest["web_message_target"]]; if (messageTargetWindow) { messageTargetWindow.postMessage(authorizationResponse, webMessageRequest["web_message_uri"]); window.close(); } break; } } ); mainWin.postMessage({ type: "relay_request" }, targetOrigin); } else { mainWin.postMessage(authorizationResponse, targetOrigin); } })(this, this.document); <\/script> </body> </html> `; }; //#endregion exports.webMessage = webMessage;