| 1 | <!DOCTYPE html> |
| 2 | <html lang="en-US"> |
| 3 | <head> |
| 4 | <!-- Internal Analytics --> |
| 5 | <script nonce="j/sbOvtXzoo85f5Lato7qyviYmUcgXl3nUB2gC8H3ygvg+tO"> |
| 6 | var version = "v=1.71.0".split(';')[1], |
| 7 | analytics = { |
| 8 | config: { |
| 9 | env: "production", |
| 10 | propertyVersion: version, |
| 11 | prefixLabel: window.location.search.indexOf('cta=join-team') !== -1 ? 'team_invite_' : '', |
| 12 | url: "https://analytics.getpostman.com/event" |
| 13 | }, |
| 14 | eventQueue: [], |
| 15 | recordEvent: function (event) { |
| 16 | event.timestamp = new Date(); |
| 17 | this.eventQueue.push(event); |
| 18 | } |
| 19 | }; |
| 20 | </script> |
| 21 | <script nonce="j/sbOvtXzoo85f5Lato7qyviYmUcgXl3nUB2gC8H3ygvg+tO" src="../../js/analytics.min.js" async defer></script> |
| 22 | <!--End Internal Analytics --> |
| 23 | <meta charset="utf-8"> |
| 24 | <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| 25 | <meta name="viewport" content="width=320, initial-scale=1, maximum-scale=1, user-scalable=no"> |
| 26 | <title>Postman - Browser Based Auth</title> |
| 27 | <link rel="shortcut icon" href="/favicon.ico"> |
| 28 | <link rel="stylesheet" href="//fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"> |
| 29 | <link rel="stylesheet" href="https://identity-assets.getpostman.com/css/style.min.8b70360f.css"> |
| 30 | </head> |
| 31 | <body class="body-styles"> |
| 32 | <div class="container"> |
| 33 | <div class="main"> |
| 34 | <div class="flex justify-center"> |
| 35 | <img src="https://identity-assets.getpostman.com/images/logo-postman.svg" alt="Postman Logo"/> |
| 36 | </div> |
| 37 | <div class="card wd-4"> |
| 38 | <div class="card-illustration card-illustration--hello"></div> |
| 39 | <h1 class="heading-1 text-center">It’s great to have you aboard, </h1> |
| 40 | <p class="text-large text-center spacing-top-l">Redirecting you to the Desktop App</p> |
| 41 | <p class="text-center spacing-top-l">If you aren’t redirected automatically, <a href="#" title="use authorization token to sign in" target="_self" class="open-modal" id="auth-token-btn">use authorization token to sign in</a>.</p> |
| 42 | </div> |
| 43 | </div> |
| 44 | <footer id="footer" class="footer"> |
| 45 | <div class="flex justify-center"> |
| 46 | <ul class="language-list" id="langsList"></ul> |
| 47 | </div> |
| 48 | <script nonce="j/sbOvtXzoo85f5Lato7qyviYmUcgXl3nUB2gC8H3ygvg+tO"> |
| 49 | const i18nParam = 'lang', |
| 50 | href = new URL(window.location.href), |
| 51 | params = new URLSearchParams(href.search); |
| 52 | |
| 53 | function generateLanguageList(langsList, activeLang) { |
| 54 | const langItems = langsList.map((langObj) => { |
| 55 | const langCode = Object.keys(langObj)[0]; |
| 56 | const langName = langObj[langCode]; |
| 57 | const isActive = langCode === activeLang; |
| 58 | const title = isActive ? `Current language: ${langName}` : `Use Postman in ${langName}`; |
| 59 | params.set(i18nParam, langCode); |
| 60 | href.search = params.toString(); |
| 61 | |
| 62 | return `<li lang="${langCode}" title="${title}" ${isActive ? ' class="active"' : ''}><a href="${href}">${langName}</a></li>`; |
| 63 | }); |
| 64 | |
| 65 | return langItems.join(''); |
| 66 | } |
| 67 | |
| 68 | const langsList = [ |
| 69 | { 'en-US': "English" }, |
| 70 | { 'ja': "日本語" } |
| 71 | ]; |
| 72 | |
| 73 | const activeLang = 'en-US'; |
| 74 | document.querySelector('#langsList').innerHTML = generateLanguageList(langsList, activeLang); |
| 75 | |
| 76 | </script> |
| 77 | <span translate="no" class="text-subdued">©2025 Postman, Inc. All rights reserved.</span> |
| 78 | <i class="separator">·</i> |
| 79 | <a class="link-muted" href="https://www.postman.com/legal/eula" target="_blank">Terms of use</a> |
| 80 | <i class="separator">·</i> |
| 81 | <a class="link-muted" href="https://www.postman.com/legal/privacy-policy" target="_blank">Privacy policy</a> |
| 82 | </footer> |
| 83 | |
| 84 | <script nonce="j/sbOvtXzoo85f5Lato7qyviYmUcgXl3nUB2gC8H3ygvg+tO"> |
| 85 | (function () { |
| 86 | const authFlowId = '5bc57a8d-5f7c-4ac2-9720-818c269b678e'; |
| 87 | if (!authFlowId || !window.history || !window.history.replaceState) return; |
| 88 | |
| 89 | try { |
| 90 | // --- 1. Update current page URL --- |
| 91 | const url = new URL(window.location.href); |
| 92 | const params = url.searchParams; |
| 93 | |
| 94 | if (params.get('authFlowId') !== authFlowId) { |
| 95 | params.set('authFlowId', authFlowId); |
| 96 | url.search = params.toString(); |
| 97 | window.history.replaceState({ authFlowId }, document.title, url.toString()); |
| 98 | } |
| 99 | |
| 100 | // --- 2. Update all anchor hrefs on the page --- |
| 101 | window.addEventListener('DOMContentLoaded', () => { |
| 102 | document.querySelectorAll('a[href]').forEach(anchor => { |
| 103 | // Skip anchors to external hosts that should preserve their absolute URL |
| 104 | if (anchor.getAttribute('rel') === 'external') return; |
| 105 | |
| 106 | const href = anchor.getAttribute('href'); |
| 107 | if (!href || |
| 108 | href.startsWith('#') || |
| 109 | href.startsWith('javascript:') || |
| 110 | href.startsWith('data:') || |
| 111 | href.startsWith('vbscript:') || |
| 112 | href.startsWith('mailto:') || |
| 113 | href.startsWith('tel:') |
| 114 | ) return; |
| 115 | |
| 116 | try { |
| 117 | const linkUrl = new URL(href, window.location.origin); |
| 118 | if (!linkUrl.searchParams.has('authFlowId') && linkUrl.origin === window.location.origin) { |
| 119 | linkUrl.searchParams.set('authFlowId', authFlowId); |
| 120 | anchor.setAttribute('href', linkUrl.pathname + linkUrl.search + linkUrl.hash); |
| 121 | } |
| 122 | } catch(e) { |
| 123 | console.log("Skipping invalid URL: ", href, e); |
| 124 | } |
| 125 | }); |
| 126 | }); |
| 127 | |
| 128 | // --- 3. Intercept all XHR calls and append authFlowId --- |
| 129 | (function() { |
| 130 | const origOpen = XMLHttpRequest.prototype.open; |
| 131 | |
| 132 | XMLHttpRequest.prototype.open = function(method, url, async) { |
| 133 | try { |
| 134 | let fullUrl = url; |
| 135 | |
| 136 | if (authFlowId && !fullUrl.includes('authFlowId=')) { |
| 137 | const sep = fullUrl.includes('?') ? '&' : '?'; |
| 138 | fullUrl += sep + 'authFlowId=' + encodeURIComponent(authFlowId); |
| 139 | } |
| 140 | |
| 141 | return origOpen.call(this, method, fullUrl, async); |
| 142 | } catch (err) { |
| 143 | console.error("XHR interceptor error:", err); |
| 144 | return origOpen.apply(this, arguments); |
| 145 | } |
| 146 | }; |
| 147 | })(); |
| 148 | |
| 149 | } catch (e) { |
| 150 | console.error('Failed to update URL or hrefs with authFlowId: ', e); |
| 151 | } |
| 152 | })(); |
| 153 | </script> |
| 154 | </div> |
| 155 | <div class="bg-modal modal-hidden"> |
| 156 | <div class="modal modal-small"> |
| 157 | <header class="modal-header"> |
| 158 | <h2 class="modal-heading">Use authorization token to sign in</h2> |
| 159 | <button class="modal-close close-modal"> |
| 160 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| 161 | <path d="M8.70711 8.00001L13.3536 3.35356L12.6465 2.64645L8.00001 7.2929L3.35356 2.64645L2.64645 3.35356L7.2929 8.00001L2.64645 12.6465L3.35356 13.3536L8.00001 8.70711L12.6465 13.3536L13.3536 12.6465L8.70711 8.00001Z" fill="#6B6B6B"></path> |
| 162 | </svg> |
| 163 | </button> |
| 164 | </header> |
| 165 | <div class="modal-body"> |
| 166 | <label class="input-label" for="token-text"> |
| 167 | <h6 class="heading-6">Authorization token</h6> |
| 168 | <p class="text-small text-subdued">Copy the token below and paste it in the “Enter authorization token” field on the Desktop App.</p> |
| 169 | </label> |
| 170 | <textarea class="text-area" id="token-text" readonly>postman://auth/callback?code=e9d8149adf4fdce085e1271f3bb894fd203744f6918f9defd95cb734d3af1363</textarea> |
| 171 | <button class="btn btn-primary spacing-top-l" id="clipboard-cpy-btn">Copy Token</button> |
| 172 | </div> |
| 173 | </div> |
| 174 | </div> |
| 175 | <div class="toast-container"> |
| 176 | <div class="toast toast-dismissible toast-success toast-initial-state" id="toast-border"> |
| 177 | <div class="toast-body" id="toast-text">Token copied</div> |
| 178 | <button class="btn btn-icon toast-dismiss" title="Dismiss"> |
| 179 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" ><path d="M8.70711 8.00001L13.3536 3.35356L12.6465 2.64645L8.00001 7.2929L3.35356 2.64645L2.64645 3.35356L7.2929 8.00001L2.64645 12.6465L3.35356 13.3536L8.00001 8.70711L12.6465 13.3536L13.3536 12.6465L8.70711 8.00001Z" fill="#6B6B6B"></path></svg> |
| 180 | </button> |
| 181 | </div> |
| 182 | </div> |
| 183 | <script id="pmTechSDK" nonce="j/sbOvtXzoo85f5Lato7qyviYmUcgXl3nUB2gC8H3ygvg+tO"> |
| 184 | window.pmt=(()=>{var w={version:"v2.1.40",getSpas:function(){return["www-next","postman-docs"]},log:function(t){w.output=w.output||[],w.output.push(t)},url:function(){return (URL && new URL(window.location.href).href).startsWith("http")&&(new URL(window.location.href).href)||""},set:function(t,e){w[t]=e},getPubId:function(){return(document.cookie.match("(^|;) ?_PUB_ID=([^;]*)(;|$)")||[])[2]},drivePubId:function(e){var t,n,o=w.url(),a="pub_id=";if(o.match(a)){if(t="_PUB_ID="+(n=o.split(a).pop().split("&").shift())+"; path=/",document.cookie=t,e){let t=o.replace(a+n,"");e=(t=(t=t.replace("?&","?")).replace("&&","&")).split("?").pop(),o=(t=e?t:t.split("?").shift()).length-1;"&"===t.charAt(o)&&(t=t.substring(0,o)),window.location.replace(t)}return t}return w.getPubId()},driveCampaignId:function(t){let e="dcid=",n=t&&t.dcid||window.location.search&&window.location.search.match(e)&&window.location.search.split(e).pop().split("&").shift()||(document.cookie.match("(^|;) ?dcid=([^;]*)(;|$)")||[])[2];var o,a,i=t&&t.form,r=t&&t.url||w.url();return o=i=i,a=n&&n.replace(e,""),i&&(o.tagName?n&&!o.driver_campaign_id&&((i=document.createElement("input")).type="hidden",i.name="driver_campaign_id",i.value=a,o.appendChild(i)):n&&(o.driver_campaign_id=a)),r.match(e)?(i=r.split(e).pop().split("&").shift(),(o=new Date).setDate(o.getDate()+30),a="dcid="+i+"; expires="+o.toUTCString()+"; path=/",document.cookie=a):t}};return w.enablePostmanAnalytics=function(p,u,m){return"function"!=typeof p||p.postmanAnalyticsEnabled||navigator.doNotTrack&&!u._disableDoNotTrack?p:(u=u||{},p.postmanAnalyticsEnabled=!0,function(t,e,n,o,a){let i="load"!==e||w.url()!==w.currentURL;if(!i)return!1;p.apply(this,arguments);var r="gtm.uniqueEventId",c=e||m;w.initCategory||(w.initCategory=t);let d={category:t,action:c,indexType:"client-events",property:u._property||document.location.host,propertyId:document.location.host,traceId:w.getTraceId(null,u),timestamp:(new Date).toISOString()};var c=h(w.currentURL)||document.referrer||w.externalURL||"",s=navigator.language||window.navigator.userLanguage||"?";function l(t,e){var n=t&&t.split(",")||[],o=n.length;let a,i;for(a=0;a<o;a+=1){var r=n[a];if(i=-1!==e.indexOf(r))break}return i}return d.meta={url:h(c),language:s,user:w.user},n&&(d.entityId=n),a&&(d.meta.user=a),"load"===d.action&&d.entityId&&document.body&&document.body.id&&(d.entityId=d.entityId+"#"+document.body.id),o&&(s=(c=parseInt(o,10))&&!c.isNaN&&c||null,c=(a="string"==typeof o)&&o.match(":")&&o.split(":").pop()||a&&o||"object"==typeof o&&f(JSON.stringify(o))||"",s&&(d.value=s),c)&&(n?d.entityId+=":"+c:d.entityId=c),(Object.keys(u)||[]).forEach(function(t){"_"!==t.charAt(0)&&(d[t]=u[t])}),e||"object"!=typeof t||(d.action=t.action||t.event||t[Object.keys(t)[0]],t[r]&&(d.category=r+"-"+t[r])),"local"===d.env&&(d.env="beta"),"object"==typeof d.category&&d.category&&"string"==typeof d.category.category&&(d.category=d.category.category),["category","event","label"].forEach(function(t){"object"==typeof d[t]&&(d[t]=d[t]&&f(JSON.stringify(d[t])))}),d.userId=w.getPubId()||w.store()&&w.store().userId||d.userId,w.userId=d.userId,a=w.getTraceId().split("|").pop(),w.traceId=w.getTraceId().split(a).shift()+w.userId,window.name&&!window.name.startsWith("pm")&&(window.name=w.getTraceId()),w.api().store(),setTimeout(function(){w.api()},1e3),d.category&&d.action&&"function"==typeof u.fetch&&u.fetch(u._url,d)||d.entityId&&"object"==typeof document&&(()=>{var t=u._allow&&l(u._allow,document.location.pathname)||!u._allow&&!0,e=u._disallow&&l(u._disallow,document.location.pathname),n=btoa(JSON.stringify(d));if(t&&!e){if(fetch){if("load"===d.action){if(d.action&&!i)return w.trackIt();d.entityId=d.entityId.split("#").shift()}w.getTraceId(d),fetch(u._url,{method:"POST",headers:{Accept:"text/html","Content-Type":"text/html"},body:n,mode:"no-cors",keepalive:!0}).catch(function(t){}),w.event=d,w.event&&-1!==w.getSpas().indexOf(w.event.property)&&(w.spa=!0)}else t=n,(e=new XMLHttpRequest).open("POST",u._url),e.setRequestHeader("Accept","application/json"),e.setRequestHeader("Content-type","text/plain"),e.send(t);w.currentURL=w.url(),-1===d.meta.url.indexOf(document.location.host)&&(w.externalURL=d.meta.url)}})(),!0});function f(t){return t.replace(/"/gi,'"')}function h(t){return"string"==typeof t&&t.split(window.location.host).pop()}},w.watch=function(){var e=(new Date).getTime();if(36e5<w.store().session){w.store("time",e),w.store("session",1);let t=w.getTraceId().split("|");t.shift(),t=t.join("|"),w.event&&window.pmt("setScalp",[{property:w.event.property,_traceId:"pm"+btoa((new Date).getTime())+"|"+t}])}else w.store("session",e-w.store().time);return w.store("time",e),w.stored},w.ga=function(){"function"==typeof window.ga&&window.ga.apply(this,arguments)},w.getEnv=function(t){let e,n=(e="production",t||document.location.hostname);return["beta","local","stag"].forEach(function(t){n.match(t)&&(e=t)}),e},w.setScalp=function(t){if("object"==typeof window){var n=(document.location.search&&document.location.search.match("dcid=([^;]*)(;|$)")||[])[1],n=n&&n.split("&").shift()||(document.cookie.match("(^|;) ?dcid=([^;]*)(;|$)")||[])[2],o=document.location.search.substr(1).split("&"),a=window.localStorage.getItem("utms");let e=a&&a.split(",")||[];o.forEach(t=>{t=t.match("([UTM|utm].*)=([^;]*)(;|$)");!t||-1===t[0].indexOf("utm")&&-1===t[0].indexOf("UTM")||e.push(t[0])});var a=e.length&&e.join(".")||"",o="PM."+btoa((new Date).toISOString()),i=w.getUserId()||window.name&&window.name.match("|PM.")&&window.name.split("|").pop()||w.store()&&w.store().userId,r=(w.store("userId",i||o),(document.cookie.match("(^|;) ?_pm.store=([^;]*)(;|$)")||[])[2]),r=r&&JSON.parse(r)||{},c="pm"+btoa((new Date).getTime()),n=("string"==typeof window.name&&"pm"===window.name.substring(0,2)||(n&&-1===window.name.indexOf("DCID.")?window.name=!w.scalpCount&&r.traceId||c+"|DCID."+n+(a&&"|"+a||"")+"|"+(i||o):window.name=!w.scalpCount&&r.traceId||c+(a&&"|"+a||"")+"|"+(i||o)),!w.scalpCount&&(w.getTraceIdFromUrl()||r.traceId)||t._traceId||window.parent&&window.parent.name||window.name),c=w.getPubId()||i||window.name.split("|").pop(),a={env:"function"==typeof w.getEnv&&w.getEnv()||"production",type:"events-website",userId:c,_allow:!t.disallow&&t.allow,_disableDoNotTrack:void 0===t.disableDoNotTrack||t.disableDoNotTrack,_disallow:!t.allow&&t.disallow,_property:t.property||document.location.host,_traceId:n},o=a.env.match("prod")?"https://bi.pst.tech/events":"https://events.getpostman-beta.com/events";a._url=t.url||o,w.store("session",1),w.store("traceId",n),w.traceId=n,w.userId=c,w.scalp=w.enablePostmanAnalytics(function(){w.scalpCount||(w.scalpCount=0),w.scalpCount+=1,w.watch()},a)}},w.getTraceUrl=function(t){var e=-1!==t.indexOf("?")?"&":"?",n=window.polaris&&"&_uuid="+window.polaris("uuid")||"";return t+e+"_pmt="+encodeURI(w.getTraceId())+n},w.trace=function(t,e){let n=w.getTraceUrl(t);-1!==n.indexOf("=pm")&&-1===n.indexOf("=pmt")&&(n=n.replace("=pm","=pmt")),e?(t=window.open(n,"_blank"))&&t.focus():document.location.href=n},w.getUtmUrl=function(t){var e=-1!==t.indexOf("?")?"&":"?",n=w.traceId.split(".").pop(),n=w.traceId.split("."+n).shift().substr(1).split(".");let o=[];return n.forEach(t=>{t=t.match("([UTM|utm].*)=([^;]*)(;|$)");!t||-1===t[0].indexOf("utm")&&-1===t[0].indexOf("UTM")||o.push(t[0])}),t+e+(o.length&&o.join("&")||"utm="+document.location.host)},w.utm=function(t){let e=w.getUtmUrl(t);e.match("_pmt=")||(e=e+"&_pmt="+encodeURI(w.traceId)),document.location.href=e},w.monitor=function(e){if(e&&e.target){var n=e.target,o=n&&n.getAttribute&&n.getAttribute("href"),o=(o&&(o.match("https://go.postman.co")&&n.setAttribute("href","http://auth.postman.com/__redirect/login"),window.pmt("log",[`[PMT: has href] ${o} --> `+n.getAttribute("href")])),n).parentNode,a=o&&o.parentNode,i=a&&a.parentNode,r=i&&i.parentNode,c=n.getAttribute&&n.getAttribute("href"),d=o&&o.getAttribute&&o.getAttribute("href"),s=a&&a.getAttribute&&a.getAttribute("href"),i=i&&i.getAttribute&&i.getAttribute("href"),l=r&&r.getAttribute&&r.getAttribute("href"),d=(c=c||d||s||i||l)&&!!c.match("/solutions/"),s=c&&!!c.match("enterprise"),i=c&&!!c.match("/lp/"),l=w.event&&w.event.property&&"www-next"===w.event.property&&(d||s||i);c&&(l||w.spa&&(s=(d=!!c.match("http"))&&window.location.origin===new URL(c).origin,!d||s)&&(w.metric("load",c,document.location.href),w.event.property)&&"postman-app"!==w.event.property)&&(document.location.href=c);let t=n.dataset&&n.dataset.cdp;var i=o&&o.dataset&&o.dataset.cdp,l=a&&a.dataset&&a.dataset.cdp,d=r&&r.dataset&&r.dataset.cdp,s=((t=t||i||l||d)&&window.pmt("log",["[PMT: data-cdp] "+t]),n.dataset&&n.dataset.eventProp),c=o&&o.dataset&&o.dataset.eventProp,i=a&&a.dataset&&a.dataset.eventProp,l=r&&r.dataset&&r.dataset.eventProp,c=((s=s||c||i||l)&&window.pmt("log",["[PMT: data-event] "+s]),!s||"["!==(d=s.charAt(0))&&"{"!==d||(i=!!(c=JSON.parse(s)).cta_link_to&&!!c.cta_link_to.match("download"),t=JSON.stringify({event:i?"Download Clicked":!!c.cta_link_to&&"CTA Clicked",destination:c.cta_link_to,location:c.cta_style,text:c.cta_text,type:c.cta_type,url:c.url||document.location.href})),t&&(s=(d="["===(l=t.charAt(0))||"{"===l)&&JSON.parse(t)||{},i=d&&s.event||!d&&"string"==typeof t&&t||s.event,(s.destination||(s.destination=e.target.href),s.location||(s.location="body"),s.text||(s.text=e.target.innerText),s.type||(s.type=e.target.tagName),s.url||(s.url=document.location.href),window.polaris&&(s.polaris=window.polaris("uuid")),s.location&&"primary"===s.location&&(s.location="body"),s).event,delete s.event,i)&&(window.analytics||window.cdp).track(i,s),n.innerText&&-1!==n.innerText.toLowerCase().indexOf("buy")),l=n.innerText&&-1!==n.innerText.toLowerCase().indexOf("contact");(c||l)&&(d=n.id||o.id||a&&a.id||r&&r.id)&&window.pmt("scalp",["pm-analytics","click",document.location.pathname+"#"+d]),w.previousHref=document.location.href}},w.trackClicks=function(o,a){w.driveTrace();document.body.getAttribute("data-trackClicks")||document.body.addEventListener("mousedown",function(t){w.monitor(t);var e=document.body&&document.body.id&&"#"+document.body.id||"";if(o){var n=t.target.getAttribute(o);n&&w.scalp(a||w.initCategory,"click","target",e+n)}else if(!o&&("string"==typeof t.target.className||"string"==typeof t.target.id)){n=t.target.className||t.target.id||t.target.parentNode.className||-1;if("string"==typeof n){e=document.location.pathname+e+":"+t.target.tagName+"."+n.split(" ").join("_");try{w.scalp(a||w.initCategory,"click",e)}catch(t){}}}},!0),document.body.setAttribute("data-trackClicks",o||"default")},w.driveTrack=function(t){var e="_track=",n=t&&t._track||window.location.search&&window.location.search.match(e)&&window.location.search.split(e).pop().split("&").shift()||(document.cookie.match("(^|;) ?"+e+"([^;]*)(;|$)")||[])[2],o=t&&t.url||w.url(),a=w.getEnv(),a=a.match("stag")?"stage":a;return w.tracking=!0,w.trackIt(),o.match(e)?(o="postman-"+a+".track="+n+"; path=/",document.cookie=o):t},w.driveTrace=function(){window.addEventListener("click",t=>{var{href:e,target:n}=t.target,{href:o,target:a}=t.target.parentNode||{},e=e&&!e.match(/undefined/)&&e||o&&!o.match(/undefined/)&&o||"",o=!!e.match(/download/);!e.match(/identity\.(get)?postman(-beta)?\.com/)||o||(t.preventDefault(),window.pmt("trace",[e,a||n]))})},w.trackIt=function(){var e=(document.cookie.match("(^|;) ?postman-[a-z]+.track=([^;]*)(;|$)")||[])[2];if(e&&w.tracking){let t=w.url();var n=-1===t.indexOf("?")?"?":"&";-1===t.indexOf("_track")&&"default"!==e&&(t=t+n+"_track="+e,document.location.replace(t))}},w.xhr=function(t,e){var n=new XMLHttpRequest,o="t="+(new Date).getTime(),a=-1===t.indexOf("?")?"?":"&",t=t+a+o;n.withCredentials=!0,n.addEventListener("readystatechange",function(){4===this.readyState&&e(this.responseText)}),n.open("GET",t),n.send()},w.bff=function(t,e,n){w.xhr((n?"/mkapi/":"https://www.postman.com/mkapi/")+t+".json",e)},w.store=function(t,e){var n=(document.cookie.match("(^|;) ?_pm.store=([^;]*)(;|$)")||[])[2],n=n&&JSON.parse(n)||{};w.stored={...n},t&&e&&(w.stored[t]=e);n=document.location.host.split("."),t=n.pop(),e=n.pop(),n=new Date;n.setDate(n.getDate()+1080);let o="_pm.store="+JSON.stringify(w.stored)+"; expires="+n.toUTCString()+"; domain=."+e+"."+t+"; path=/";return e||(n=o.split("domain=").pop().split(";").shift(),o=o.replace(n,"localhost")),document.cookie=o,w.stored},w.getTraceIdFromCookie=function(){return(document.cookie.match("(^|;) ?_pmt=([^;]*)(;|$)")||[])[2]},w.getTraceIdFromUrl=function(){var e="_pmt=",n=w.url(),o=n.match(e)&&n.split(e).pop().split("&").shift(),a=o&&decodeURI(o);if(a){w.store("traceId",a);let t=n.replace(e+o,"");n=(t=(t=t.replace("?&","?")).replace("&&","&")).split("?").pop(),e=(t=n?t:t.split("?").shift()).length-1,o=t.charAt(e),n=(t="&"===o?t.substring(0,e):t).replace(window.location.origin,"");window.history&&window.history.replaceState({},null,n)}return a},w.getNormalizedTraceId=function(t){let e=t;var t=e&&e.substring(0,3)||"",n="pmt"===t,t=!n&&"pm"!==t,o=e&&e.split("pmt")||[],a=e&&e.split("pm")||[];return n&&2<o.length?e="pmt"+o.pop():t&&2<a.length&&(e="pm"+a.pop()),e},w.getTraceId=function(t,e){e=w.getTraceIdFromUrl()||w.getTraceIdFromCookie()||w.store().traceId||w.traceId||e&&e._traceId||"";return e&&t&&(t.traceId=e),w.getNormalizedTraceId(e)},w.getUserId=function(t){var e=w.getTraceId().split("|").pop()||w.store().userId||w.userId||"";return e&&t&&(t.userId=e),e},w.api=function(e){"object"==typeof e&&Object.keys(e).forEach(function(t){window[t]=e[t]});var t,n=window.pm,n=n&&n.billing,n=n&&n.plan,n=n&&n.features;return n&&(t=(t=n&&n.is_paid_plan_growth)&&t.value,n=(n=n&&n.is_enterprise_plan_growth)&&n.value,w.store("plan",(n?"enterprise":t&&"paid")||"free")),w},w.metric=function(t,e,n){return window.pmt("scalp",["pm-analytics",t,e]),"load"===t&&(window.analytics||window.cdp)&&(t={path:t="object"==typeof e&&e.pathname||!!e.match("http")&&new URL(e).pathname||e,url:"object"==typeof e&&e.pathname||!!e.match("http")&&new URL(e).href||window.location.origin+t,...window.pmt("user")},n&&(t.referrer=n),(window.analytics||window.cdp).page(e,t)),null},setTimeout(function(){var t=document.getElementById("pmtSDK"),e=t&&t.getAttribute("data-track-category")||"pm-analytics",n=t&&t.getAttribute("data-track-property"),o=t&&t.getAttribute("data-track-url"),a=t&&"false"!==t.getAttribute("data-track-disable-do-not-track"),i=t&&"true"===t.getAttribute("data-drive-track"),r=t&&"false"!==t.getAttribute("data-drive-campaign-id"),c=t&&"false"!==t.getAttribute("data-drive-pub-id"),d=t&&"false"!==t.getAttribute("data-track-load"),s=t&&"false"!==t.getAttribute("data-track-clicks"),t=s&&t.getAttribute("data-track-clicks-attribute")||null;n&&(n={property:n},o&&(n.url=o),a&&(n.disableDoNotTrack=a),window.pmt("setScalp",[n]),d&&window.pmt("scalp",[e,"load",document.location.pathname]),s&&window.pmt("trackClicks",[t,e]),r&&window.pmt("driveCampaignId"),c&&window.pmt("drivePubId",[!0]),i)&&window.pmt("driveTrack")},1e3),function(t,e){return w[t]?"function"==typeof w[t]?w[t].apply(w,e):w[t]:null}})(),window&&(window.polaris=(()=>{var a={version:"v1.19.0",log:function(t){a.output=a.output||[],a.output.push(t)},_sesh:function(t){window.name;var e,n,o=window.pmt("userId");o&&(e=window.pmt("traceId").split("|").shift(),t=t&&"pol."+t||"",n=window.pmt("traceId").split(e).pop().split(o).shift(),-1===window.name.indexOf("pol."))&&(window.name=e+n+t+"|"+o)},url:function(){return window.location.href.startsWith("http")&&window.location.href||""},uuidFromUrl:function(){var e="_uuid=",n=a.url(),o=n.match(e)&&n.split(e).pop().split("&").shift();if(o){let t=n.replace(e+o,"");n=(t=(t=t.replace("?&","?")).replace("&&","&")).split("?").pop(),e=(t=n?t:t.split("?").shift()).length-1;"&"===t.charAt(e)&&(t=t.substring(0,e))}return o},getDetectedFonts:function(){var t,e,n=["monospace","sans-serif","serif"],o=[],a=document.createElement("span"),i=(a.style.visibility="hidden",a.style.position="absolute",a.style.left="-9999px",a.style.fontSize="72px",a.textContent="mmmmmmmmmmlli",document.body.appendChild(a),{}),r={};for(t of n)i[a.style.fontFamily=t]=a.offsetWidth,r[t]=a.offsetHeight;for(e of["Academy Engraved LET","American Typewriter","Andale Mono","Arial","Athelas","Avenir","Ayuthaya","Bangla MN","Baskerville","Big Caslon","Bodoni Ornaments","Bradley Hand","Brush Script MT","Chalkboard","Charter","Cochin","Comic Sans MS","Copperplate","Courier New","Didot","Futura","Galvji","Geneva","Georgia","Gill Sans","Helvetica Neue","Herculanum","Hiragino Sans W9","Hoefler Text","Impact","InaiMathi","Kannada Sangam MN","Kefa","Khmer MN","Krungthep","Lao MN","Luminari","Malayalam MN","Marion","Marker Felt","Monaco","Myanmar MN","Noteworthy","Optima","Palatino","Party LET","Phosphate","PT Mono","Rockwell","Sathu","Seravek","Seravek Medium","Silom","Skia","STIXGeneral","STSong","Superclarendon","Tahoma","Tamil MN","Thonburi","Times New Roman","Trattatello","Trebuchet MS","Verdana","Webdings","Zapfino"]){let t=!1;for(var c of n)if(a.style.fontFamily=e+", "+c,a.offsetWidth!==i[c]||a.offsetHeight!==r[c]){t=!0;break}t&&o.push(e)}return document.body.removeChild(a),o.sort()},getPlugins:function(){let e={};return[...navigator.plugins].forEach(t=>{e[t.name]=t.name}),Object.keys(e).sort()},getWebGL:function(){var t,e=document.createElement("canvas").getContext("webgl");return e?(t=e.getExtension("WEBGL_debug_renderer_info"),e.getParameter(t.UNMASKED_RENDERER_WEBGL)):"not_supported"},getBrowserAttributes:function(){return[screen.width+"x"+screen.height+"@"+screen.colorDepth,"t"+(new Date).getTimezoneOffset()].sort()},getCanvasFingerprint:function(){var t=document.createElement("canvas"),e=t.getContext("2d"),n="Postman,com <canvas> 1.0";return e.font="14px 'Arial'",e.textBaseline="alphabetic",e.fillStyle="#f60",e.fillRect(125,1,62,20),e.fillStyle="#069",e.fillText(n,2,15),e.fillStyle="rgba(102, 204, 0, 0.7)",e.fillText(n,4,17),t.toDataURL()},fingerprint:function(){return a.uuid(),a.getCanvasFingerprint()+a.getBrowserAttributes().join(",")+","+a.getWebGL()+","+a.getDetectedFonts().join(",")+","+a.getPlugins().join(",")}};return a.sha256=function(t,e){t=(new TextEncoder).encode(t.toLowerCase());window.crypto.subtle.digest("SHA-256",t).then(function(t){"function"==typeof e&&e(Array.prototype.map.call(new Uint8Array(t),t=>("00"+t.toString(16)).slice(-2)).join(""))})},a.client=function(){if(a._id)return a._id;a.sha256(a.fingerprint(),function(t){a._id=t})},a.uuid=function(){var t,e;return a._uuid||(e=window.name,e=a.uuidFromUrl()||-1!==e.indexOf("|pol.")&&e.split("|pol.").pop().split("|").shift()||!1,(t=window.pmt&&window.pmt("store")||{}).userId=t.userId||(new Date).getTime(),e=e||a._uuid||t.polaris||crypto&&"function"==typeof crypto.randomUUID&&crypto.randomUUID()||t.userId,window.pmt&&window.pmt("store",["polaris",e]),a.log("Polaris: "+e),a._uuid=e,a._sesh(e),a.client(),e)},a.convert=function(t){var e,n;"object"==typeof t&&(t.type="events-general",e="https://eo2kpuahxhuvgexlueall7gqzq0fihon.lambda-url.us-east-1.on.aws",t=btoa(JSON.stringify(t)),fetch?fetch(e,{method:"POST",headers:{Accept:"text/html","Content-Type":"text/html"},body:t,mode:"no-cors",keepalive:!0}).catch(function(t){a.log(t)}):((n=new XMLHttpRequest).open("POST",e),n.setRequestHeader("Accept","application/json"),n.setRequestHeader("Content-type","text/plain"),n.send(t)))},a.onHuman=function(){a.isHuman=!0,"function"==typeof a.humanHandler&&a.humanHandler()},a.humanHandler=function(t){a.humanHandler=t},a._mouse=function(){let n=[];document.addEventListener("mousemove",function(t){var e;n.push({x:t.clientX,y:t.clientY}),50<n.length&&(t=n.every(t=>t.x===n[0].x),e=n.every(t=>t.y===n[0].y),t||e?a.isHuman=!1:5<n.length&&(a.isHuman||a.onHuman()))})},a._mouse(),function(t,e){return a[t]?"function"==typeof a[t]?a[t].apply(a,e):a[t]:null}})(),window.passport=window.polaris);const p = {"CDP":1,"SEG":"9xLD58UfOuu8iiv5x8vH1nk6wsbEXMev"}; |
| 185 | const segJs = `!function(){var i="cdp",cdp=window[i]=window[i]||[];if(!cdp.initialize)if(cdp.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{cdp.invoked=!0;cdp.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","screen","once","off","on","addSourceMiddleware","addIntegrationMiddleware","setAnonymousId","addDestinationMiddleware","register"];cdp.factory=function(e){return function(){if(window[i].initialized)return window[i][e].apply(window[i],arguments);var n=Array.prototype.slice.call(arguments);if(["track","screen","alias","group","page","identify"].indexOf(e)>-1){var c=document.querySelector("link[rel='canonical']");n.push({__t:"bpc",c:c&&c.getAttribute("href")||void 0,p:location.pathname,u:location.href,s:location.search,t:document.title,r:document.referrer})}n.unshift(e);cdp.push(n);return cdp}};for(var n=0;n<cdp.methods.length;n++){var key=cdp.methods[n];cdp[key]=cdp.factory(key)}cdp.load=function(key,n){var t=document.createElement("script");t.type="text/javascript";t.async=!0;t.setAttribute("data-global-segment-analytics-key",i);t.src="https://evs.cdp.postman.com/6C88CYC9Neo3CfCCSD2BHa/xae7HN2EeK3mLEpFypgqAS.min.js";var r=document.getElementsByTagName("script")[0];r.parentNode.insertBefore(t,r);cdp._loadOptions=n};cdp._writeKey="${p['SEG']}";cdp._cdn = "https://evs.cdp.postman.com";cdp.SNIPPET_VERSION="5.2.0";}}();`; |
| 186 | |
| 187 | function sha256(str, cb) { |
| 188 | const buf2hex = function(buffer) { |
| 189 | return Array.prototype.map.call(new Uint8Array(buffer), x => ('00' + x.toString(16)).slice(-2)).join(''); |
| 190 | } |
| 191 | const data = new TextEncoder().encode(str.toLowerCase()); |
| 192 | window.crypto.subtle.digest('SHA-256', data) |
| 193 | .then(function(hashBytes){ |
| 194 | if (typeof cb === 'function') { |
| 195 | cb(buf2hex(hashBytes)); |
| 196 | } |
| 197 | }); |
| 198 | } |
| 199 | |
| 200 | function cdpIdentify(email, isAlreadyHashed) { |
| 201 | function getOpts() { |
| 202 | const opts = { email }; |
| 203 | const pmStoreData = JSON.parse((document.cookie.match('(^|;) ?_pm.store=([^;]*)(;|$)') || [,,'{}'])[2]); |
| 204 | const polaris = pmStoreData && pmStoreData['polaris']; |
| 205 | if (polaris) { |
| 206 | opts.anonymousId = polaris; |
| 207 | } |
| 208 | return opts; |
| 209 | } |
| 210 | |
| 211 | if (isAlreadyHashed) { |
| 212 | window.cdp.identify(email, getOpts()); |
| 213 | } else { |
| 214 | const isPossiblyEmail = !!email.match(/@/); |
| 215 | if (isPossiblyEmail) { |
| 216 | window.sha256(email, function(usr){ |
| 217 | window.cdp.identify(usr, getOpts()); |
| 218 | }); |
| 219 | } |
| 220 | } |
| 221 | } |
| 222 | |
| 223 | function px(opts, cb) { |
| 224 | const e = document.createElement('script'); |
| 225 | for (key in opts) { |
| 226 | if (key !== 'textContent' && key !== 'top') { |
| 227 | e.setAttribute(key, opts[key]); |
| 228 | } |
| 229 | } |
| 230 | const hasAlready = !!document.querySelector(`[data-px="${opts['data-px']}"]`); |
| 231 | e.onreadystatechange = function () { |
| 232 | if (this.readyState === 'complete' || this.readyState === 'loaded') { |
| 233 | if (typeof cb === 'function') { |
| 234 | cb(); |
| 235 | } |
| 236 | } |
| 237 | }; |
| 238 | if (opts.textContent) { |
| 239 | e.textContent = opts.textContent; |
| 240 | if (typeof cb === 'function') { |
| 241 | setTimeout(() => { |
| 242 | cb(); |
| 243 | }, 1000); |
| 244 | } |
| 245 | } |
| 246 | e.onload = cb; |
| 247 | if (opts.dnt) { |
| 248 | e.removeAttribute('dnt', null); |
| 249 | if ( |
| 250 | parseInt(navigator.doNotTrack, 10) === 1 || |
| 251 | parseInt(window.doNotTrack, 10) === 1 || |
| 252 | parseInt(navigator.msDoNotTrack, 10) === 1 || |
| 253 | navigator.doNotTrack === 'yes' |
| 254 | ) { |
| 255 | return -1; |
| 256 | } |
| 257 | } |
| 258 | const head = document.getElementsByTagName('head')[0]; |
| 259 | if (opts.top) { |
| 260 | if (!hasAlready) { |
| 261 | head.insertBefore(e, head.firstChild); |
| 262 | } |
| 263 | } else { |
| 264 | const lpx = [...document.querySelectorAll('[data-px]')].pop(); |
| 265 | if (!hasAlready) { |
| 266 | if (lpx && lpx.parentNode) { |
| 267 | lpx.parentNode.insertBefore(e, lpx.nextElementSibling); |
| 268 | } else { |
| 269 | head.insertBefore(e, head.firstChild); |
| 270 | } |
| 271 | } |
| 272 | } |
| 273 | return e; |
| 274 | } |
| 275 | |
| 276 | const track = () => { |
| 277 | if (p['CDP'] !== 0) { |
| 278 | px({ 'data-px': '<!-- CDP:filter:o256 -->', textContent: segJs }, () => { |
| 279 | window.polaris('uuid'); |
| 280 | setTimeout(function () { |
| 281 | function getSegmentAnonymousId() { |
| 282 | const key = '|anon.'; |
| 283 | const key2 = 'anon='; |
| 284 | const anon = |
| 285 | window.name.indexOf(key) !== -1 && |
| 286 | window.name.split(key).pop().split('|').shift() || |
| 287 | window.location.search.indexOf(key2) !== -1 && |
| 288 | window.location.search.split(key2).pop().split('&').shift(); |
| 289 | |
| 290 | return anon || ( |
| 291 | (window.cdp && |
| 292 | typeof window.cdp.user === 'function' && |
| 293 | window.cdp.user().anonymousId()) || |
| 294 | (document.cookie.match( |
| 295 | '(^|;) ?ajs_anonymous_id=([^;]*)(;|$)' |
| 296 | ) || [])[2] |
| 297 | ); |
| 298 | } |
| 299 | |
| 300 | const segmentAnonymousId = getSegmentAnonymousId(); |
| 301 | |
| 302 | // PMT |
| 303 | const user = { |
| 304 | client: window.polaris('client'), |
| 305 | polaris: window.polaris('uuid'), |
| 306 | segmentAnonymousId, |
| 307 | userAgent: navigator.userAgent |
| 308 | }; |
| 309 | for (key in user) { |
| 310 | if (!user[key]) { |
| 311 | delete user[key]; |
| 312 | } |
| 313 | } |
| 314 | if (typeof window.pmt === 'function') { |
| 315 | window.pmt('set', ['user', user]); |
| 316 | } |
| 317 | |
| 318 | // Segment |
| 319 | const param = [ |
| 320 | 'redirect_uri' |
| 321 | ]; |
| 322 | const watch = [ |
| 323 | 'https://identity.getpostman.com/client/browser-auth/init' |
| 324 | ]; |
| 325 | const blocked = []; |
| 326 | const hasParam = !!param.filter((p) => document.location.search.indexOf(p) !== -1).length; |
| 327 | const isWatched = !!watch.filter((w) => document.location.href.indexOf(w) !== -1).length; |
| 328 | const isBlocked = blocked.indexOf(document.location.href) !== -1 || (isWatched && hasParam); |
| 329 | if (!isBlocked && window.cdp) { |
| 330 | window.cdp.load(p['SEG']); |
| 331 | window.cdp.ready(()=>{ |
| 332 | const userData = (typeof window.pmt === 'function') && { ...window.pmt('user') } || {}; |
| 333 | delete userData.segmentAnonymousId; |
| 334 | delete userData.userAgent; |
| 335 | if (typeof window.pmt === 'function') { |
| 336 | window.pmt('log', [ |
| 337 | { |
| 338 | '[CDP (Segment)]': userData |
| 339 | } |
| 340 | ]); |
| 341 | window.cdp.user().anonymousId(window.polaris('uuid')); |
| 342 | window.cdp.page(userData); |
| 343 | } |
| 344 | }); |
| 345 | } |
| 346 | }, 3100); |
| 347 | }); |
| 348 | } |
| 349 | }; |
| 350 | track(); |
| 351 | |
| 352 | </script> |
| 353 | <script id="pmTechConfig" nonce="j/sbOvtXzoo85f5Lato7qyviYmUcgXl3nUB2gC8H3ygvg+tO"> |
| 354 | window.pmt('setScalp', [{ |
| 355 | property: 'pm-identity' |
| 356 | }]); |
| 357 | window.pmt('scalp', [ |
| 358 | 'pm-analytics', |
| 359 | 'load', |
| 360 | document.location.pathname |
| 361 | ]); |
| 362 | window.pmt('driveCampaignId'); |
| 363 | window.pmt('trackClicks'); |
| 364 | </script> |
| 365 | <script nonce="j/sbOvtXzoo85f5Lato7qyviYmUcgXl3nUB2gC8H3ygvg+tO" src="https://identity-assets.getpostman.com/js/browser-based-auth-success.min.18507c47.js"></script> |
| 366 | <script nonce="j/sbOvtXzoo85f5Lato7qyviYmUcgXl3nUB2gC8H3ygvg+tO"> |
| 367 | var redirectUri = "postman://auth/callback", |
| 368 | authorizationCode = "e9d8149adf4fdce085e1271f3bb894fd203744f6918f9defd95cb734d3af1363"; |
| 369 | |
| 370 | authorizationCode && window.location.assign(redirectUri + '?code=' + authorizationCode); |
| 371 | </script> |
| 372 | </body> |
| 373 | </html> |
savely / postman.html
Last active 1 month ago