Help
RSS
API
Feed
Maltego
Contact
Domain > cannamed-connect.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-07-16
18.165.83.62
(
ClassC
)
2025-11-27
13.32.230.24
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: CloudFrontDate: Thu, 27 Nov 2025 07:56:59 GMTContent-Type: text/htmlContent-Length: 167Connection: keep-aliveLocation: https://cannamed-connect.com/X-Cache: Redirect from cloudfrontVia: 1.1 a050962cf8ab7ec259f9e20bc0ac8c08.cloudfront.net (CloudFront)X-Amz-Cf-Pop: LAX54-P10X-Amz-Cf-Id: SQXiITgTs7dup_vn2J7KSjADoLDIV5IgQ1Qp28kGLUuQ41RITWBhwQCache-Control: no-cache, no-store, must-revalidateExpires: 0Pragma: no-cache html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>CloudFront/center>/body>/html>
Port 443
HTTP/1.1 200 OKContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-aliveDate: Thu, 27 Nov 2025 07:57:00 GMTX-Powered-By: Next.jsCache-Control: no-cache, no-store, must-revalidateVary: RSC, Next-Router-State-Tree, Next-Router-Prefetch, Next-Router-Segment-Prefetch, Accept-Encodinglink: /_next/static/media/e4af272ccee01ff0-s.p.woff2>; relpreload; asfont; crossorigin; typefont/woff2X-Cache: Miss from cloudfrontVia: 1.1 f763d37eedaa439d4db6f87fb67c9554.cloudfront.net (CloudFront)X-Amz-Cf-Pop: LAX54-P10X-Amz-Cf-Id: h6sLaHYo3fW9916cnYL-CGmYiQdxY-97sDp9fYQZ7nj-NoTOr46l4gExpires: 0Pragma: no-cache !DOCTYPE html>html langen>head>meta charSetutf-8/>meta nameviewport contentwidthdevice-width, initial-scale1, maximum-scale1, user-scalableno/>link relstylesheet href/_next/static/css/5f2ca65f47c74e32.css data-precedencenext/>link relstylesheet href/_next/static/css/36ac387f842ecf74.css data-precedencenext/>link relpreload asscript fetchPrioritylow href/_next/static/chunks/webpack-6d9234e4a2350453.js/>script src/_next/static/chunks/52774a7f-c21d68b4d216317e.js async>/script>script src/_next/static/chunks/4bd1b696-3628bd20567b900a.js async>/script>script src/_next/static/chunks/52926-fa263ca917a606b9.js async>/script>script src/_next/static/chunks/main-app-dd0e025073f9c3cf.js async>/script>script src/_next/static/chunks/app/global-error-32fc8b3e08f9afdd.js async>/script>script src/_next/static/chunks/bc9e92e6-73c3a1d4ad4a9636.js async>/script>script src/_next/static/chunks/457b8330-5f3c68f36703c4c3.js async>/script>script src/_next/static/chunks/ae6eea6a-7f5f68bfef7d5a76.js async>/script>script src/_next/static/chunks/12108-1d020a28123b3acc.js async>/script>script src/_next/static/chunks/66766-4a775722cef19a16.js async>/script>script src/_next/static/chunks/44134-eb0cdb48b439d0ef.js async>/script>script src/_next/static/chunks/80075-7ccd645cea97e56f.js async>/script>script src/_next/static/chunks/23623-38cc3086dab42e76.js async>/script>script src/_next/static/chunks/21398-9ac7f2b915a57a4e.js async>/script>script src/_next/static/chunks/82582-4175a80ef10f730c.js async>/script>script src/_next/static/chunks/9617-521d08a7311f4e47.js async>/script>script src/_next/static/chunks/48486-c7e9641a0e4709e8.js async>/script>script src/_next/static/chunks/app/layout-c95291d53990700a.js async>/script>script src/_next/static/chunks/app/not-found-b491c0f13721c16e.js async>/script>script src/_next/static/chunks/app/loading-ebf83652d6589def.js async>/script>script src/_next/static/chunks/app/page-3d75b7608e500229.js async>/script>link relpreload hrefhttps://www.googletagmanager.com/gtag/js?idG-KT07Z6QJFC asscript/>link relpreload href/fonts/NotoSansThai-Regular.ttf asfont typefont/ttf crossoriginanonymous/>link relpreload href/fonts/NotoSansThai-Bold.ttf asfont typefont/ttf crossoriginanonymous/>meta namenext-size-adjust content/>title>CannaMed Connect/title>meta namedescription contentA platform for CannaMed Connect certification and dispensing/>link relshortcut icon href/favicon.ico/>link relicon href/favicon.ico typeimage/x-icon/>link relapple-touch-icon href/favicon.ico/>script> (function() { if (typeof window ! undefined && !window.__fetchInterceptorSetup) { console.log(GlobalFetchInterceptor Setting up interceptor (inline script)...); // Clear any stuck flags on page load ONLY if not on login/auth pages const currentPath window.location.pathname; if (!currentPath.includes(/login) && !currentPath.includes(/auth/)) { sessionStorage.removeItem(kickedOutInProgress); } const originalFetch window.fetch; let isRedirecting false; window.fetch async function(...args) { // If were already redirecting, dont make any more requests if (isRedirecting) { console.log(GlobalFetchInterceptor Blocking request during redirect); return new Response(null, { status: 0, statusText: Redirect in progress }); } const response await originalFetch.apply(window, args); if (response.status 401) { const url typeof args0 string ? args0 : unknown; // Only handle protected API calls that require authentication const isProtectedAPI url.includes(/api/) && !url.includes(/api/auth/) && !url.includes(/api/config/) && !url.includes(/api/public/); if (!isProtectedAPI) { // Not a protected API call, dont redirect return response; } console.log(GlobalFetchInterceptor 401 on protected API:, url); // Check current page - only redirect from protected pages const currentPath window.location.pathname; const isProtectedPage currentPath.includes(/patient) || currentPath.includes(/physician) || currentPath.includes(/admin) || currentPath.includes(/dispensary); if (!isProtectedPage) { console.log(GlobalFetchInterceptor Not on protected page, skipping redirect); return response; } if (!isRedirecting) { isRedirecting true; console.log(GlobalFetchInterceptor Redirecting to login from protected page...); // Clear client-side storage first try { // Clear all cookies on client side document.cookie.split(;).forEach(function(c) { document.cookie c.replace(/^ +/, ).replace(/.*/, ;expires + new Date().toUTCString() + ;path/); }); // Clear storage localStorage.clear(); sessionStorage.clear(); } catch (e) { console.error(GlobalFetchInterceptor Error clearing storage:, e); } // Redirect through server-side clear-session endpoint // This ensures cookies are properly cleared server-side window.location.replace(/api/auth/clear-session); } } return response; }; window.__fetchInterceptorSetup true; console.log(GlobalFetchInterceptor ✅ Interceptor setup complete); } })(); /script>meta namesentry-trace contentbb56d4d61d0dc59f3c37c934dd8bbff9-340e3e76c007b0f0-0/>meta namebaggage contentsentry-environmentproduction,sentry-public_keydffca340c442afcf4d692d977fd450be,sentry-trace_idbb56d4d61d0dc59f3c37c934dd8bbff9,sentry-org_id4510018532933632,sentry-sampledfalse,sentry-sample_rand0.8615427302176382,sentry-sample_rate0.1/>script src/_next/static/chunks/polyfills-42372ed130431b0a.js noModule>/script>/head>body class__variable_f367f3 antialiased>div hidden>!--$-->!--/$-->/div>noscript>iframe srchttps://www.googletagmanager.com/ns.html?idGTM-PNLQ9ZJK height0 width0 styledisplay:none;visibility:hidden>/iframe>/noscript>script src/_next/static/chunks/webpack-6d9234e4a2350453.js id_R_ async>/script>script>(self.__next_fself.__next_f||).push(0)/script>script>self.__next_f.push(1,1:\$Sreact.fragment\\nb:I98385,\34219\,\static/chunks/app/global-error-32fc8b3e08f9afdd.js\,\default\\nc:I69243,\62992\,\static/chunks/bc9e92e6-73c3a1d4ad4a9636.js\,\79507\,\static/chunks/457b8330-5f3c68f36703c4c3.js\,\27811\,\static/chunks/ae6eea6a-7f5f68bfef7d5a76.js\,\12108\,\static/chunks/12108-1d020a28123b3acc.js\,\66766\,\static/chunks/66766-4a775722cef19a16.js\,\44134\,\static/chunks/44134-eb0cdb48b439d0ef.js\,\80075\,\static/chunks/80075-7ccd645cea97e56f.js\,\23623\,\static/chunks/23623-38cc3086dab42e76.js\,\21398\,\static/chunks/21398-9ac7f2b915a57a4e.js\,\82582\,\static/chunks/82582-4175a80ef10f730c.js\,\9617\,\static/chunks/9617-521d08a7311f4e47.js\,\48486\,\static/chunks/48486-c7e9641a0e4709e8.js\,\7177\,\static/chunks/app/layout-c95291d53990700a.js\,\\\n)/script>script>self.__next_f.push(1,d:I86643,\62992\,\static/chunks/bc9e92e6-73c3a1d4ad4a9636.js\,\79507\,\static/chunks/457b8330-5f3c68f36703c4c3.js\,\27811\,\static/chunks/ae6eea6a-7f5f68bfef7d5a76.js\,\12108\,\static/chunks/12108-1d020a28123b3acc.js\,\66766\,\static/chunks/66766-4a775722cef19a16.js\,\44134\,\static/chunks/44134-eb0cdb48b439d0ef.js\,\80075\,\static/chunks/80075-7ccd645cea97e56f.js\,\23623\,\static/chunks/23623-38cc3086dab42e76.js\,\21398\,\static/chunks/21398-9ac7f2b915a57a4e.js\,\82582\,\static/chunks/82582-4175a80ef10f730c.js\,\9617\,\static/chunks/9617-521d08a7311f4e47.js\,\48486\,\static/chunks/48486-c7e9641a0e4709e8.js\,\7177\,\static/chunks/app/layout-c95291d53990700a.js\,\default\\n)/script>script>self.__next_f.push(1,e:I15080,\62992\,\static/chunks/bc9e92e6-73c3a1d4ad4a9636.js\,\79507\,\static/chunks/457b8330-5f3c68f36703c4c3.js\,\27811\,\static/chunks/ae6eea6a-7f5f68bfef7d5a76.js\,\12108\,\static/chunks/12108-1d020a28123b3acc.js\,\66766\,\static/chunks/66766-4a775722cef19a16.js\,\44134\,\static/chunks/44134-eb0cdb48b439d0ef.js\,\80075\,\static/chunks/80075-7ccd645cea97e56f.js\,\23623\,\static/chunks/23623-38cc3086dab42e76.js\,\21398\,\static/chunks/21398-9ac7f2b915a57a4e.js\,\82582\,\static/chunks/82582-4175a80ef10f730c.js\,\9617\,\static/chunks/9617-521d08a7311f4e47.js\,\48486\,\static/chunks/48486-c7e9641a0e4709e8.js\,\7177\,\static/chunks/app/layout-c95291d53990700a.js\,\ErrorBoundary\\n)/script>script>self.__next_f.push(1,f:I42399,\62992\,\static/chunks/bc9e92e6-73c3a1d4ad4a9636.js\,\79507\,\static/chunks/457b8330-5f3c68f36703c4c3.js\,\27811\,\static/chunks/ae6eea6a-7f5f68bfef7d5a76.js\,\12108\,\static/chunks/12108-1d020a28123b3acc.js\,\66766\,\static/chunks/66766-4a775722cef19a16.js\,\44134\,\static/chunks/44134-eb0cdb48b439d0ef.js\,\80075\,\static/chunks/80075-7ccd645cea97e56f.js\,\23623\,\static/chunks/23623-38cc3086dab42e76.js\,\21398\,\static/chunks/21398-9ac7f2b915a57a4e.js\,\82582\,\static/chunks/82582-4175a80ef10f730c.js\,\9617\,\static/chunks/9617-521d08a7311f4e47.js\,\48486\,\static/chunks/48486-c7e9641a0e4709e8.js\,\7177\,\static/chunks/app/layout-c95291d53990700a.js\,\SessionProvider\\n)/script>script>self.__next_f.push(1,10:I70139,\62992\,\static/chunks/bc9e92e6-73c3a1d4ad4a9636.js\,\79507\,\static/chunks/457b8330-5f3c68f36703c4c3.js\,\27811\,\static/chunks/ae6eea6a-7f5f68bfef7d5a76.js\,\12108\,\static/chunks/12108-1d020a28123b3acc.js\,\66766\,\static/chunks/66766-4a775722cef19a16.js\,\44134\,\static/chunks/44134-eb0cdb48b439d0ef.js\,\80075\,\static/chunks/80075-7ccd645cea97e56f.js\,\23623\,\static/chunks/23623-38cc3086dab42e76.js\,\21398\,\static/chunks/21398-9ac7f2b915a57a4e.js\,\82582\,\static/chunks/82582-4175a80ef10f730c.js\,\9617\,\static/chunks/9617-521d08a7311f4e47.js\,\48486\,\static/chunks/48486-c7e9641a0e4709e8.js\,\7177\,\static/chunks/app/layout-c95291d53990700a.js\,\QueryProvider\\n)/script>script>self.__next_f.push(1,11:I5844,\62992\,\static/chunks/bc9e92e6-73c3a1d4ad4a9636.js\,\79507\,\static/chunks/457b8330-5f3c68f36703c4c3.js\,\27811\,\static/chunks/ae6eea6a-7f5f68bfef7d5a76.js\,\12108\,\static/chunks/12108-1d020a28123b3acc.js\,\66766\,\static/chunks/66766-4a775722cef19a16.js\,\44134\,\static/chunks/44134-eb0cdb48b439d0ef.js\,\80075\,\static/chunks/80075-7ccd645cea97e56f.js\,\23623\,\static/chunks/23623-38cc3086dab42e76.js\,\21398\,\static/chunks/21398-9ac7f2b915a57a4e.js\,\82582\,\static/chunks/82582-4175a80ef10f730c.js\,\9617\,\static/chunks/9617-521d08a7311f4e47.js\,\48486\,\static/chunks/48486-c7e9641a0e4709e8.js\,\7177\,\static/chunks/app/layout-c95291d53990700a.js\,\LogoutProvider\\n)/script>script>self.__next_f.push(1,12:I2091,\62992\,\static/chunks/bc9e92e6-73c3a1d4ad4a9636.js\,\79507\,\static/chunks/457b8330-5f3c68f36703c4c3.js\,\27811\,\static/chunks/ae6eea6a-7f5f68bfef7d5a76.js\,\12108\,\static/chunks/12108-1d020a28123b3acc.js\,\66766\,\static/chunks/66766-4a775722cef19a16.js\,\44134\,\static/chunks/44134-eb0cdb48b439d0ef.js\,\80075\,\static/chunks/80075-7ccd645cea97e56f.js\,\23623\,\static/chunks/23623-38cc3086dab42e76.js\,\21398\,\static/chunks/21398-9ac7f2b915a57a4e.js\,\82582\,\static/chunks/82582-4175a80ef10f730c.js\,\9617\,\static/chunks/9617-521d08a7311f4e47.js\,\48486\,\static/chunks/48486-c7e9641a0e4709e8.js\,\7177\,\static/chunks/app/layout-c95291d53990700a.js\,\SessionPolicyProvider\\n)/script>script>self.__next_f.push(1,13:I44458,\62992\,\static/chunks/bc9e92e6-73c3a1d4ad4a9636.js\,\79507\,\static/chunks/457b8330-5f3c68f36703c4c3.js\,\27811\,\static/chunks/ae6eea6a-7f5f68bfef7d5a76.js\,\12108\,\static/chunks/12108-1d020a28123b3acc.js\,\66766\,\static/chunks/66766-4a775722cef19a16.js\,\44134\,\static/chunks/44134-eb0cdb48b439d0ef.js\,\80075\,\static/chunks/80075-7ccd645cea97e56f.js\,\23623\,\static/chunks/23623-38cc3086dab42e76.js\,\21398\,\static/chunks/21398-9ac7f2b915a57a4e.js\,\82582\,\static/chunks/82582-4175a80ef10f730c.js\,\9617\,\static/chunks/9617-521d08a7311f4e47.js\,\48486\,\static/chunks/48486-c7e9641a0e4709e8.js\,\7177\,\static/chunks/app/layout-c95291d53990700a.js\,\FirebaseAuthProvider\\n)/script>script>self.__next_f.push(1,14:I79421,\62992\,\static/chunks/bc9e92e6-73c3a1d4ad4a9636.js\,\79507\,\static/chunks/457b8330-5f3c68f36703c4c3.js\,\27811\,\static/chunks/ae6eea6a-7f5f68bfef7d5a76.js\,\12108\,\static/chunks/12108-1d020a28123b3acc.js\,\66766\,\static/chunks/66766-4a775722cef19a16.js\,\44134\,\static/chunks/44134-eb0cdb48b439d0ef.js\,\80075\,\static/chunks/80075-7ccd645cea97e56f.js\,\23623\,\static/chunks/23623-38cc3086dab42e76.js\,\21398\,\static/chunks/21398-9ac7f2b915a57a4e.js\,\82582\,\static/chunks/82582-4175a80ef10f730c.js\,\9617\,\static/chunks/9617-521d08a7311f4e47.js\,\48486\,\static/chunks/48486-c7e9641a0e4709e8.js\,\7177\,\static/chunks/app/layout-c95291d53990700a.js\,\SignupFlowProvider\\n)/script>script>self.__next_f.push(1,15:I9617,\62992\,\static/chunks/bc9e92e6-73c3a1d4ad4a9636.js\,\79507\,\static/chunks/457b8330-5f3c68f36703c4c3.js\,\27811\,\static/chunks/ae6eea6a-7f5f68bfef7d5a76.js\,\12108\,\static/chunks/12108-1d020a28123b3acc.js\,\66766\,\static/chunks/66766-4a775722cef19a16.js\,\44134\,\static/chunks/44134-eb0cdb48b439d0ef.js\,\80075\,\static/chunks/80075-7ccd645cea97e56f.js\,\23623\,\static/chunks/23623-38cc3086dab42e76.js\,\21398\,\static/chunks/21398-9ac7f2b915a57a4e.js\,\82582\,\static/chunks/82582-4175a80ef10f730c.js\,\9617\,\static/chunks/9617-521d08a7311f4e47.js\,\48486\,\static/chunks/48486-c7e9641a0e4709e8.js\,\7177\,\static/chunks/app/layout-c95291d53990700a.js\,\ToastProvider\\n)/script>script>self.__next_f.push(1,16:I23476,\62992\,\static/chunks/bc9e92e6-73c3a1d4ad4a9636.js\,\79507\,\static/chunks/457b8330-5f3c68f36703c4c3.js\,\27811\,\static/chunks/ae6eea6a-7f5f68bfef7d5a76.js\,\12108\,\static/chunks/12108-1d020a28123b3acc.js\,\66766\,\static/chunks/66766-4a775722cef19a16.js\,\44134\,\static/chunks/44134-eb0cdb48b439d0ef.js\,\80075\,\static/chunks/80075-7ccd645cea97e56f.js\,\23623\,\static/chunks/23623-38cc3086dab42e76.js\,\21398\,\static/chunks/21398-9ac7f2b915a57a4e.js\,\82582\,\static/chunks/82582-4175a80ef10f730c.js\,\9617\,\static/chunks/9617-521d08a7311f4e47.js\,\48486\,\static/chunks/48486-c7e9641a0e4709e8.js\,\7177\,\static/chunks/app/layout-c95291d53990700a.js\,\ClientErrorSetup\\n)/script>script>self.__next_f.push(1,17:I29921,\62992\,\static/chunks/bc9e92e6-73c3a1d4ad4a9636.js\,\79507\,\static/chunks/457b8330-5f3c68f36703c4c3.js\,\27811\,\static/chunks/ae6eea6a-7f5f68bfef7d5a76.js\,\12108\,\static/chunks/12108-1d020a28123b3acc.js\,\66766\,\static/chunks/66766-4a775722cef19a16.js\,\44134\,\static/chunks/44134-eb0cdb48b439d0ef.js\,\80075\,\static/chunks/80075-7ccd645cea97e56f.js\,\23623\,\static/chunks/23623-38cc3086dab42e76.js\,\21398\,\static/chunks/21398-9ac7f2b915a57a4e.js\,\82582\,\static/chunks/82582-4175a80ef10f730c.js\,\9617\,\static/chunks/9617-521d08a7311f4e47.js\,\48486\,\static/chunks/48486-c7e9641a0e4709e8.js\,\7177\,\static/chunks/app/layout-c95291d53990700a.js\,\PerformanceMonitor\\n)/script>script>self.__next_f.push(1,18:I26094,\62992\,\static/chunks/bc9e92e6-73c3a1d4ad4a9636.js\,\79507\,\static/chunks/457b8330-5f3c68f36703c4c3.js\,\27811\,\static/chunks/ae6eea6a-7f5f68bfef7d5a76.js\,\12108\,\static/chunks/12108-1d020a28123b3acc.js\,\66766\,\static/chunks/66766-4a775722cef19a16.js\,\44134\,\static/chunks/44134-eb0cdb48b439d0ef.js\,\80075\,\static/chunks/80075-7ccd645cea97e56f.js\,\23623\,\static/chunks/23623-38cc3086dab42e76.js\,\21398\,\static/chunks/21398-9ac7f2b915a57a4e.js\,\82582\,\static/chunks/82582-4175a80ef10f730c.js\,\9617\,\static/chunks/9617-521d08a7311f4e47.js\,\48486\,\static/chunks/48486-c7e9641a0e4709e8.js\,\7177\,\static/chunks/app/layout-c95291d53990700a.js\,\BreadcrumbTracker\\n)/script>script>self.__next_f.push(1,19:I92037,\62992\,\static/chunks/bc9e92e6-73c3a1d4ad4a9636.js\,\79507\,\static/chunks/457b8330-5f3c68f36703c4c3.js\,\27811\,\static/chunks/ae6eea6a-7f5f68bfef7d5a76.js\,\12108\,\static/chunks/12108-1d020a28123b3acc.js\,\66766\,\static/chunks/66766-4a775722cef19a16.js\,\44134\,\static/chunks/44134-eb0cdb48b439d0ef.js\,\80075\,\static/chunks/80075-7ccd645cea97e56f.js\,\23623\,\static/chunks/23623-38cc3086dab42e76.js\,\21398\,\static/chunks/21398-9ac7f2b915a57a4e.js\,\82582\,\static/chunks/82582-4175a80ef10f730c.js\,\9617\,\static/chunks/9617-521d08a7311f4e47.js\,\48486\,\static/chunks/48486-c7e9641a0e4709e8.js\,\7177\,\static/chunks/app/layout-c95291d53990700a.js\,\DynamicFavicon\\n)/script>script>self.__next_f.push(1,1a:I87713,\62992\,\static/chunks/bc9e92e6-73c3a1d4ad4a9636.js\,\79507\,\static/chunks/457b8330-5f3c68f36703c4c3.js\,\27811\,\static/chunks/ae6eea6a-7f5f68bfef7d5a76.js\,\12108\,\static/chunks/12108-1d020a28123b3acc.js\,\66766\,\static/chunks/66766-4a775722cef19a16.js\,\44134\,\static/chunks/44134-eb0cdb48b439d0ef.js\,\80075\,\static/chunks/80075-7ccd645cea97e56f.js\,\23623\,\static/chunks/23623-38cc3086dab42e76.js\,\21398\,\static/chunks/21398-9ac7f2b915a57a4e.js\,\82582\,\static/chunks/82582-4175a80ef10f730c.js\,\9617\,\static/chunks/9617-521d08a7311f4e47.js\,\48486\,\static/chunks/48486-c7e9641a0e4709e8.js\,\7177\,\static/chunks/app/layout-c95291d53990700a.js\,\ErrorBoundaryDebug\\n)/script>script>self.__next_f.push(1,1b:I46810,\62992\,\static/chunks/bc9e92e6-73c3a1d4ad4a9636.js\,\79507\,\static/chunks/457b8330-5f3c68f36703c4c3.js\,\27811\,\static/chunks/ae6eea6a-7f5f68bfef7d5a76.js\,\12108\,\static/chunks/12108-1d020a28123b3acc.js\,\66766\,\static/chunks/66766-4a775722cef19a16.js\,\44134\,\static/chunks/44134-eb0cdb48b439d0ef.js\,\80075\,\static/chunks/80075-7ccd645cea97e56f.js\,\23623\,\static/chunks/23623-38cc3086dab42e76.js\,\21398\,\static/chunks/21398-9ac7f2b915a57a4e.js\,\82582\,\static/chunks/82582-4175a80ef10f730c.js\,\9617\,\static/chunks/9617-521d08a7311f4e47.js\,\48486\,\static/chunks/48486-c7e9641a0e4709e8.js\,\7177\,\static/chunks/app/layout-c95291d53990700a.js\,\SessionMonitor\\n)/script>script>self.__next_f.push(1,1c:I12523,\62992\,\static/chunks/bc9e92e6-73c3a1d4ad4a9636.js\,\79507\,\static/chunks/457b8330-5f3c68f36703c4c3.js\,\27811\,\static/chunks/ae6eea6a-7f5f68bfef7d5a76.js\,\12108\,\static/chunks/12108-1d020a28123b3acc.js\,\66766\,\static/chunks/66766-4a775722cef19a16.js\,\44134\,\static/chunks/44134-eb0cdb48b439d0ef.js\,\80075\,\static/chunks/80075-7ccd645cea97e56f.js\,\23623\,\static/chunks/23623-38cc3086dab42e76.js\,\21398\,\static/chunks/21398-9ac7f2b915a57a4e.js\,\82582\,\static/chunks/82582-4175a80ef10f730c.js\,\9617\,\static/chunks/9617-521d08a7311f4e47.js\,\48486\,\static/chunks/48486-c7e9641a0e4709e8.js\,\7177\,\static/chunks/app/layout-c95291d53990700a.js\,\default\\n)/script>script>self.__next_f.push(1,1d:I87555,,\\\n1e:I31295,,\\\n1f:I99543,\12108\,\static/chunks/12108-1d020a28123b3acc.js\,\24345\,\static/chunks/app/not-found-b491c0f13721c16e.js\,\default\\n21:I59665,,\OutletBoundary\\n23:I74911,,\AsyncMetadataOutlet\\n25:I56667,\12108\,\static/chunks/12108-1d020a28123b3acc.js\,\66766\,\static/chunks/66766-4a775722cef19a16.js\,\82582\,\static/chunks/82582-4175a80ef10f730c.js\,\94209\,\static/chunks/app/loading-ebf83652d6589def.js\,\default\\n26:I59665,,\ViewportBoundary\\n28:I59665,,\MetadataBoundary\\n29:\$Sreact.suspense\\n2b:I38642,\12108\,\static/chunks/12108-1d020a28123b3acc.js\,\66766\,\static/chunks/66766-4a775722cef19a16.js\,\23623\,\static/chunks/23623-38cc3086dab42e76.js\,\82582\,\static/chunks/82582-4175a80ef10f730c.js\,\48486\,\static/chunks/48486-c7e9641a0e4709e8.js\,\58974\,\static/chunks/app/page-3d75b7608e500229.js\,\default\\n2c:I40925,\12108\,\static/chunks/12108-1d020a28123b3acc.js\,\66766\,\static/chunks/66766-4a775722cef19a16.js\,\23623\,\static/chunks/23623-38cc3086dab42e76.js\,\82582\,\static/chunks/82582-4175a80ef10f730c.js\,\48486\,\static/chunks/48486-c7e9641a0e4709e8.js\,\58974\,\static/chunks/app/page-3d75b7608e500229.js\,\default\\n2d:I38175,,\IconMark\\n:HL\/_next/static/media/e4af272ccee01ff0-s.p.woff2\,\font\,{\crossOrigin\:\\,\type\:\font/woff2\}\n:HL\/_next/static/css/5f2ca65f47c74e32.css\,\style\\n:HL\/_next/static/css/36ac387f842ecf74.css\,\style\\n2:T1082,)/script>script>self.__next_f.push(1,\n (function() {\n if (typeof window ! undefined \u0026\u0026 !window.__fetchInterceptorSetup) {\n console.log(GlobalFetchInterceptor Setting up interceptor (inline script)...);\n \n // Clear any stuck flags on page load ONLY if not on login/auth pages\n const currentPath window.location.pathname;\n if (!currentPath.includes(/login) \u0026\u0026 !currentPath.includes(/auth/)) {\n sessionStorage.removeItem(kickedOutInProgress);\n }\n \n const originalFetch window.fetch;\n let isRedirecting false;\n \n window.fetch async function(...args) {\n // If were already redirecting, dont make any more requests\n if (isRedirecting) {\n console.log(GlobalFetchInterceptor Blocking request during redirect);\n return new Response(null, { status: 0, statusText: Redirect in progress });\n }\n \n const response await originalFetch.apply(window, args);\n \n if (response.status 401) {\n const url typeof args0 string ? args0 : unknown;\n \n // Only handle protected API calls that require authentication\n const isProtectedAPI url.includes(/api/) \u0026\u0026 \n !url.includes(/api/auth/) \u0026\u0026 \n !url.includes(/api/config/) \u0026\u0026\n !url.includes(/api/public/);\n \n if (!isProtectedAPI) {\n // Not a protected API call, dont redirect\n return response;\n }\n \n console.log(GlobalFetchInterceptor 401 on protected API:, url);\n \n // Check current page - only redirect from protected pages\n const currentPath window.location.pathname;\n const isProtectedPage currentPath.includes(/patient) || \n currentPath.includes(/physician) || \n currentPath.includes(/admin) ||\n currentPath.includes(/dispensary);\n \n if (!isProtectedPage) {\n console.log(GlobalFetchInterceptor Not on protected page, skipping redirect);\n return response;\n }\n \n if (!isRedirecting) {\n isRedirecting true;\n console.log(GlobalFetchInterceptor Redirecting to login from protected page...);\n \n // Clear client-side storage first\n try {\n // Clear all cookies on client side\n document.cookie.split(\;\).forEach(function(c) { \n document.cookie c.replace(/^ +/, \\).replace(/.*/, \;expires\ + new Date().toUTCString() + \;path/\); \n });\n \n // Clear storage\n localStorage.clear();\n sessionStorage.clear();\n } catch (e) {\n console.error(GlobalFetchInterceptor Error clearing storage:, e);\n }\n \n // Redirect through server-side clear-session endpoint\n // This ensures cookies are properly cleared server-side\n window.location.replace(/api/auth/clear-session);\n }\n }\n \n return response;\n };\n \n window.__fetchInterceptorSetup true;\n console.log(GlobalFetchInterceptor ✅ Interceptor setup complete);\n }\n })();\n )/script>script>self.__next_f.push(1,0:{\P\:null,\b\:\q0GWbrVzl3HLcI5bnSkfy\,\p\:\\,\c\:\\,\\,\i\:false,\f\:\\,{\children\:\__PAGE__\,{}},\$undefined\,\$undefined\,true,\\,\$\,\$1\,\c\,{\children\:\$\,\link\,\0\,{\rel\:\stylesheet\,\href\:\/_next/static/css/5f2ca65f47c74e32.css\,\precedence\:\next\,\crossOrigin\:\$undefined\,\nonce\:\$undefined\},\$\,\link\,\1\,{\rel\:\stylesheet\,\href\:\/_next/static/css/36ac387f842ecf74.css\,\precedence\:\next\,\crossOrigin\:\$undefined\,\nonce\:\$undefined\},\$\,\html\,null,{\lang\:\en\,\children\:\$\,\head\,null,{\children\:\$\,\script\,null,{\dangerouslySetInnerHTML\:{\__html\:\$2\}},\$L3\,\$L4\,\$L5\,\$L6\},\$L7\}},{\children\:\__PAGE__\,\$L8\,{},null,false},\$L9\,,,false,\$La\,false,\m\:\$undefined\,\G\:\$b\,,\s\:false,\S\:false}\n)/script>script>self.__next_f.push(1,3:\$\,\link\,null,{\rel\:\preload\,\href\:\/fonts/NotoSansThai-Regular.ttf\,\as\:\font\,\type\:\font/ttf\,\crossOrigin\:\anonymous\}\n4:\$\,\link\,null,{\rel\:\preload\,\href\:\/fonts/NotoSansThai-Bold.ttf\,\as\:\font\,\type\:\font/ttf\,\crossOrigin\:\anonymous\}\n5:\$\,\$Lc\,null,{\id\:\google-tag-manager\,\strategy\:\afterInteractive\,\children\:\\\n (function(w,d,s,l,i){wlwl||;wl.push({gtm.start:\\n new Date().getTime(),event:gtm.js});var fd.getElementsByTagName(s)0,\\n jd.createElement(s),dll!dataLayer?\u0026l+l:;j.asynctrue;j.src\\n https://www.googletagmanager.com/gtm.js?id+i+dl;f.parentNode.insertBefore(j,f);\\n })(window,document,script,dataLayer,GTM-PNLQ9ZJK);\\n \}\n6:\$\,\$Lc\,null,{\src\:\https://www.googletagmanager.com/gtag/js?idG-KT07Z6QJFC\,\strategy\:\afterInteractive\},\$\,\$Lc\,null,{\id\:\google-analytics\,\strategy\:\afterInteractive\,\children\:\\\n window.dataLayer window.dataLayer || ;\\n function gtag(){dataLayer.push(arguments);} \\n gtag(js, new Date());\\n gtag(config, G-KT07Z6QJFC);\\n \}\n)/script>script>self.__next_f.push(1,7:\$\,\body\,null,{\className\:\__variable_f367f3 antialiased\,\children\:\$\,\noscript\,null,{\children\:\$\,\iframe\,null,{\src\:\https://www.googletagmanager.com/ns.html?idGTM-PNLQ9ZJK\,\height\:\0\,\width\:\0\,\style\:{\display\:\none\,\visibility\:\hidden\}}},\$\,\$Ld\,null,{\children\:\$\,\$Le\,null,{\level\:\critical\,\componentName\:\RootLayout\,\children\:\$\,\$Lf\,null,{\children\:\$\,\$L10\,null,{\children\:\$\,\$L11\,null,{\children\:\$\,\$L12\,null,{\children\:\$\,\$L13\,null,{\children\:\$\,\$L14\,null,{\children\:\$\,\$L15\,null,{\children\:\$\,\$L16\,null,{},\$\,\$L17\,null,{},\$\,\$L18\,null,{},\$\,\$L19\,null,{},\$\,\$L1a\,null,{\children\:\$\,\$L1b\,null,{\translate\:\no\},\$\,\$L1c\,null,{\children\:\$\,\$L1d\,null,{\parallelRouterKey\:\children\,\error\:\$undefined\,\errorStyles\:\$undefined\,\errorScripts\:\$undefined\,\template\:\$\,\$L1e\,null,{},\templateStyles\:\$undefined\,\templateScripts\:\$undefined\,\notFound\:\$\,\$L1f\,null,{},,\forbidden\:\$undefined\,\unauthorized\:\$undefined\}}}}}}}}}}}}}\n)/script>script>self.__next_f.push(1,8:\$\,\$1\,\c\,{\children\:\$L20\,null,\$\,\$L21\,null,{\children\:\$L22\,\$\,\$L23\,null,{\promise\:\$@24\}}}\n9:\$\,\$L25\,\l\,{\variant\:\fullscreen\,\size\:\lg\,\icon\:\leaf\,\message\:\Loading...\,\theme\:\default\,\background\:\blur\}\na:\$\,\$1\,\h\,{\children\:null,\$\,\$L26\,null,{\children\:\$L27\},\$\,\meta\,null,{\name\:\next-size-adjust\,\content\:\\},\$\,\$L28\,null,{\children\:\$\,\div\,null,{\hidden\:true,\children\:\$\,\$29\,null,{\fallback\:null,\children\:\$L2a\}}}}\n20:\$\,\$L2b\,null,{\children\:\$\,\$L2c\,null,{}}\n27:\$\,\meta\,\0\,{\charSet\:\utf-8\},\$\,\meta\,\1\,{\name\:\viewport\,\content\:\widthdevice-width, initial-scale1, maximum-scale1, user-scalableno\}\n22:null\n24:{\metadata\:\$\,\title\,\0\,{\children\:\CannaMed Connect\},\$\,\meta\,\1\,{\name\:\description\,\content\:\A platform for CannaMed Connect certification and dispensing\},\$\,\link\,\2\,{\rel\:\shortcut icon\,\href\:\/favicon.ico\},\$\,\link\,\3\,{\rel\:\icon\,\href\:\/favicon.ico\,\type\:\image/x-icon\},\$\,\link\,\4\,{\rel\:\apple-touch-icon\,\href\:\/favicon.ico\},\$\,\$L2d\,\5\,{},\error\:null,\digest\:\$undefined\}\n2a:\$24:metadata\\n)/script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]