mirror of
https://github.com/bitwarden/web
synced 2025-12-06 00:03:28 +00:00
2 lines
3.6 KiB
JavaScript
2 lines
3.6 KiB
JavaScript
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1096)}({1096:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(196),a=n(526);n(527),document.addEventListener("DOMContentLoaded",(function(){var e;l(),window.addEventListener("message",(function(e){e.origin&&""!==e.origin&&e.origin===i&&("stop"===e.data?u=!0:"start"===e.data&&u&&l())}),!1),e="ready",parent.postMessage("info|"+e,o);var t=r.getQsParam("btnText");t&&(document.getElementById("webauthn-button").innerText=decodeURI(t))}));var o=null,i=null,u=!1,c=!1,s=null;function l(){if(c=!1,"credentials"in navigator){var e=r.getQsParam("data");if(e)if(o=r.getQsParam("parent")){o=decodeURIComponent(o),i=new URL(o).origin;try{var t=a.b64Decode(e);s=JSON.parse(t)}catch(l){return void f("Cannot parse data.")}var n=s.challenge.replace(/-/g,"+").replace(/_/g,"/");s.challenge=Uint8Array.from(atob(n),(function(e){return e.charCodeAt(0)})),s.allowCredentials.forEach((function(e){var t=e.id.replace(/\_/g,"/").replace(/\-/g,"+");e.id=Uint8Array.from(atob(t),(function(e){return e.charCodeAt(0)}))})),u=!1,-1!==navigator.userAgent.indexOf(" Safari/")&&-1===navigator.userAgent.indexOf("Chrome")||d()}else f("No parent.");else f("No data.")}else f("WebAuthn is not supported in this browser.")}function d(){u||navigator.credentials.get({publicKey:s}).then(p).catch((function(e){return f("WebAuth Error: "+e)}))}function f(e){parent.postMessage("error|"+e,o)}function p(e){if(!c){var t=a.buildDataString(e);parent.postMessage("success|"+t,o),c=!0}}window.executeWebAuthn=d},196:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getQsParam=function(e){var t=window.location.href;e=e.replace(/[\[\]]/g,"\\$&");var n=new RegExp("[?&]"+e+"(=([^&#]*)|&|#|$)").exec(t);return n?n[2]?decodeURIComponent(n[2].replace(/\+/g," ")):"":null}},526:function(e,t,n){"use strict";function r(e){if(Array.isArray(e)&&(e=Uint8Array.from(e)),e instanceof ArrayBuffer&&(e=new Uint8Array(e)),e instanceof Uint8Array){for(var t="",n=e.byteLength,r=0;r<n;r++)t+=String.fromCharCode(e[r]);e=window.btoa(t)}if("string"!=typeof e)throw new Error("could not coerce to string");return e=e.replace(/\+/g,"-").replace(/\//g,"_").replace(/=*$/g,"")}Object.defineProperty(t,"__esModule",{value:!0}),t.buildDataString=function(e){var t=e.response,n=new Uint8Array(t.authenticatorData),a=new Uint8Array(t.clientDataJSON),o=new Uint8Array(e.rawId),i=new Uint8Array(t.signature),u={id:e.id,rawId:r(o),type:e.type,extensions:e.getClientExtensionResults(),response:{authenticatorData:r(n),clientDataJson:r(a),signature:r(i)}};return JSON.stringify(u)},t.b64Decode=function(e){return decodeURIComponent(Array.prototype.map.call(atob(e),(function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join(""))}},527:function(e,t,n){}});
|
|
//# sourceMappingURL=webauthn.f13a80ccb7f6590d700e.js.map
|