web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Pages / /Account/Login/ResetPa...
Power Pages
Suggested Answer

/Account/Login/ResetPassword Formlar complete without styling and even button has no label...

(1) ShareShare
ReportReport
Posted on by 22
Hi all
 
I am really struggling with this...
I made a powerpage for a customer in (mostly) REACT.
The login page is fine like this:
<1.png>
 
But when someone tries to reset the password the styles and (obviously js) seems to be crippled and not loaded.
-> The Button even has no label.
 
Only error i can see is "Uncaucght ReferenceError" and I just dont see how to fix this:
<2.png>
The function itself is working but this looks horrible...
 
only style that seems to be loaded is account.css but that looks very "basic":
<3.png>
 
 
Does someone have an idea?
Categories:
I have the same question (0)
  • Suggested answer
    sannavajjala87 Profile Picture
    824 Super User 2026 Season 2 on at
    This is usually caused by the password reset page not loading the same JavaScript/CSS bundle as your custom sign-in page, rather than an issue with the password reset functionality itself.
     
    A few things I'd check:
     
    - Check the browser's Network tab to see if your React bundle ("main.js", "bundle.js", etc.) or CSS files are returning 404 or 403 errors.
    - The password reset page is often rendered by a different authentication layout, so custom scripts injected on the login page may not be available there.
    - The "Uncaught ReferenceError" suggests that a JavaScript function or object is being called before it's loaded. Open the browser console and identify which variable or function is undefined.
    - If you're using custom JavaScript through Content Snippets, Web Templates, or Page Templates, verify they're also included on the password reset page.
    - If you're using External Identities (Azure AD B2C/Microsoft Entra External ID), remember that the password reset experience may use a different page layout or user flow, so custom styling must also be applied there.
    - Also verify that "account.css" isn't the only stylesheet being loaded. If your custom CSS isn't referenced on the password reset page, it will fall back to the default styling.
     
    A few questions that would help narrow it down:
     
    1. Are you using Power Pages native local authentication, or Microsoft Entra External ID (Azure AD B2C)?
    2. Is your React app loaded globally, or only on the sign-in page?
    3. Can you share the exact ReferenceError message from the browser console (including the missing variable/function name)?
     
    That information should make it much easier to identify the root cause.
  • RV-19021545-0 Profile Picture
    22 on at
    Hey @sannavajjala87

    I use only local authentication - atm this is a developer-environment (the page and other stuff is bound in a solution).
    The React App is loaded only on the root page, not globally.
     
    The login page itself loads the following sources:
    • account.css
    • bootstrap.min.css
    • portalbasictheme.css
    • theme.css
    The passwort reset page loads only account.css and I don't get how to change that behaviour...
     
    Console Error:
    ResetPassword?userId=14943b35-113f-f111-88b4-6045bd29f359&code=A5WEHEejKOC8HP9JSaw8u%2BWx8ZzIN07wNf4qSjXLJZcWOGz9gAHfxsMrHSF4sFhfLSIf3xSRBLZJX4eUyLFkqfUXD1ixLWj%2FpZBaeOOB9gHYBk2j1IQajrquC69Yb6%2BRPLEQO4KLhl9sxLVUwNq%2BO8KphOecTeP4inv%2F4MF268F2NXEva88pEbIKsxJ1DR7cidaIm42NBH2gOeOSDyUXVQ%3D%3D:422
    Uncaught ReferenceError: $ is not defined
        at ResetPassword?userId=14943b35-113f-f111-88b4-6045bd29f359&code=A5WEHEejKOC8HP9JSaw8u%2BWx8ZzIN07wNf4qSjXLJZcWOGz9gAHfxsMrHSF4sFhfLSIf3xSRBLZJX4eUyLFkqfUXD1ixLWj%2FpZBaeOOB9gHYBk2j1IQajrquC69Yb6%2BRPLEQO4KLhl9sxLVUwNq%2BO8KphOecTeP4inv%2F4MF268F2NXEva88pEbIKsxJ1DR7cidaIm42NBH2gOeOSDyUXVQ%3D%3D:422:9


    there the function itself seems to be missing:

    ​​​​​​​    <script type="text/javascript" nonce="drHRebwReAKOm5FhKokx+eLPJqx4acwSB6OKs8AXu+g=">
            $(function () {
                $("#submit-reset-password").on("click", function () {
                    $.blockUI({ message: null, overlayCSS: { opacity: .3 } });
                });
            });
        </script>
     
    Is there a way so I can inject javascript to that page? It seems my solutions doesn't contain a template or something alike which I could modify...
     
    It seems to be the "bare" default page.
  • Suggested answer
    Valantis Profile Picture
    7,006 Super User 2026 Season 2 on at
     
    The reset password page is an ASP.NET MVC system page, not a web page record, so you can't modify it directly via web templates or custom JavaScript attributes.

    Two things to fix this:

    1. The missing CSS (bootstrap, theme etc): <cite index="75-1">use the Tracking Code Content Snippet which is included near the closing body tag on every page including auth pages.</cite> Go to Portal Management > Content Snippets > find or create Tracking Code and add a link tag referencing bootstrap/portalbasictheme/theme CSS. That loads them on every page including reset password.

    2. The $ not defined error: the inline script on the reset password page runs before jQuery loads. You can't fix the ordering on that system page directly, but you can add a script tag via the same Tracking Code snippet that loads jQuery explicitly before it's needed, or wrap your custom script to defer until jQuery is available using a plain JS DOMContentLoaded check instead of $().
     
      Best regards,

    Valantis   ✅ If this helped solve your issue, please Accept as Solution so others can find it quickly.

    ❤️ If it didn’t fully solve it but was still useful, please click “Yes” on “Was this reply helpful?” or leave a Like :).

    🏷️ For follow-ups  @Valantis.

    📝 https://valantisond365.com/ 💼 LinkedIn ▶️ YouTube
  • RV-19021545-0 Profile Picture
    22 on at
    Hey @Valantis 

    I tried the content snippet (see Screenshot) but that did not help (i restarted page/cleared cache etc.)
    I'll try to fix the JQuery part now
     
    Dom looks like this: 
    <html lang="de-DE" data-lang="de-DE" crm-lang="de-DE" dir="ltr" crm-lcid="1031" same-site-mode="Lax">
    
    <head>
    	<style data-merge-styles="true" nonce=""></style>
    
    	<meta charset="utf-8">
    	<meta name="viewport" content="width=device-width, initial-scale=1.0">
    	<meta http-equiv="X-UA-Compatible" content="IE=edge">
    	<script type="text/javascript" nonce="">
    
    	</script>
    	<title>
    
    
    
    	</title>
    
    	<script src="/_portal/3bb24122-c1d4-44bd-a999-8778f700a214/Resources/ResourceManager?lang=de-DE"></script>
    
    	<script type="text/javascript" nonce="">
    		// Refresh all powerBI Iframes on Login in one Iframe
    		window.addEventListener('message', function (event) {
    			if (event && event.data && event.data == 'refreshPowerBI') {
    				$("iframe.powerbi").each(function () {
    					this.src = this.src;
    				});
    			}
    		});
    
    		// Fix for incorrect viewport width setting in IE 10 on Windows Phone 8.
    		if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
    			var msViewportStyle = document.createElement("style");
    			msViewportStyle.appendChild(document.createTextNode("@-ms-viewport{width:auto!important}"));
    			document.getElementsByTagName("head")[0].appendChild(msViewportStyle);
    		}
    	</script>
    
    
    
    
    
    	<link href="https://content.powerapps.com/resource/powerappsportal/dist/preform.BootstrapV5.bundle-a79c3ca7cf.css"
    		onerror="javascript: var target = event.target; var link = document.createElement('link'); link.crossOrigin = target.crossOrigin; link.href = '/dist/preform.BootstrapV5.bundle-a79c3ca7cf.css'; link.rel = 'stylesheet'; target.insertAdjacentElement('afterend',link);"
    		rel="stylesheet">
    
    
    
    
    
    
    
    
    	<link rel="stylesheet" href="/Areas/Account/css/account.css">
    
    
    
    
    
    
    
    
    
    
    	<link href="https://content.powerapps.com/resource/powerappsportal/dist/pwa-style.bundle-55718a4c0d.css"
    		onerror="javascript: var target = event.target; var link = document.createElement('link'); link.crossOrigin = target.crossOrigin; link.href = '/dist/pwa-style.bundle-55718a4c0d.css'; link.rel = 'stylesheet'; target.insertAdjacentElement('afterend',link);"
    		rel="stylesheet">
    
    </head>
    
    <body data-sitemap-state="/" data-dateformat="dd.MM.yyyy" data-timeformat="HH:mm" data-datetimeformat="dd.MM.yyyy HH:mm"
    	data-app-path="/" data-ckeditor-basepath="/js/BaseHtmlContentDesigner/Libs/msdyncrm_/libs/ckeditor/"
    	data-case-deflection-url="/_services/search/3bb24122-c1d4-44bd-a999-8778f700a214">
    
    
    
    
    
    
    
    	<div id="offlineNotificationBar" class="displayNone">
    		<img alt="web" class="col-3" id="web"
    			onerror="javascript: var target = event.target; var img = document.createElement('img'); img.src = '/css/images/web.png'; img.alt = 'web'; img.id = 'web' ; target.insertAdjacentElement('afterend',img); target.remove();"
    			src="https://content.powerapps.com/resource/powerappsportal/img/web.png">
    		<div id="message">Sie sind offline. Dies ist eine schreibgeschützte Version der Seite.</div>
    		<div id="close" onclick="this.parentElement.style.display='none';"><img alt="close" class="col-3"
    				onerror="javascript: var target = event.target; var img = document.createElement('img'); img.src = '/css/images/close.png'; img.alt = 'close'; img.id = '' ; target.insertAdjacentElement('afterend',img); target.remove();"
    				src="https://content.powerapps.com/resource/powerappsportal/img/close.png"></div>
    	</div>
    
    
    
    	<script type="text/javascript" nonce="">
    		window.DisableCkEditor = window.DisableCkEditor || {};
    		DisableCkEditor.Value = 'False';
    	</script>
    
    	<script type="text/javascript" nonce="">
    		var enableOmniChannelWidgetWithSiteCopilot = 'False';
    		if (enableOmniChannelWidgetWithSiteCopilot === "True" || enableOmniChannelWidgetWithSiteCopilot === "true") {
    			const authUrl = window.location.origin + "/_services/auth/portalusertoken";
    			const fetchWithRetries = async (url, options, retries) => {
    				try {
    					const authResponse = await fetch(url, options);
    					const token = await authResponse.text();
    					sessionStorage['c2Token'] = token;
    				} catch (err) {
    					if (retries === 1) throw err;
    					return await fetchWithRetries(url, options, retries - 1);
    				}
    			};
    			fetchWithRetries(authUrl, { method: "POST" }, 4);
    
    			// Enable/disable Omnichannel session refresh on auth state change
    			// When enabled, closeChat() is called when user logs in/out to start a fresh session
    			var enableOmniChannelSessionRefreshSetting = 'True';
    			window.enableOmniChannelSessionRefresh = enableOmniChannelSessionRefreshSetting === 'True' || enableOmniChannelSessionRefreshSetting === 'true';
    		}
    	</script>
    
    	<script type="text/javascript" nonce="">
    		var isPvaBotAuthenticated = sessionStorage['isPvaBotAuthenticated'];
    		var isPortalUserLoggedIn = 'False';
    
    		if ((isPvaBotAuthenticated != null || isPvaBotAuthenticated != undefined) && isPvaBotAuthenticated != isPortalUserLoggedIn) {
    			sessionStorage['triggerPvaBotSignOut'] = true;
    			sessionStorage.removeItem('c2Token');
    			sessionStorage.removeItem('directLinetoken');
    			sessionStorage.removeItem('conversation_Id');
    
    			sessionStorage.removeItem('bot_c2Token');
    			sessionStorage.removeItem('botdirectLinetoken');
    			sessionStorage.removeItem('botconversation_Id');
    		}
    		sessionStorage['isPvaBotAuthenticated'] = isPortalUserLoggedIn;
    	</script>
    
    	<script type="text/javascript" nonce="">
    		window["CSPSettings"] = window["CSPSettings"] || {};
    		window["CSPSettings"].nonce = 'WImSNrzidD2VMlfvPI45oBOiNmDnZFt769nPV6QS2iQ=';
    		window["FabricConfig"] = window["FabricConfig"] || {};
    		window["FabricConfig"].mergeStyles = window["FabricConfig"].mergeStyles || {};
    		window["FabricConfig"].mergeStyles.cspSettings = window["CSPSettings"];
    		window["Microsoft"] = window["Microsoft"] || {};
    		window["Microsoft"].Dynamic365 = {
    			Portal: {
    
    				User: {
    					userName: '',
    					firstName: '',
    					lastName: '',
    					email: '',
    					contactId: '',
    					userRoles: [],
    				},
    
    				version: '9.8.4.9',
    				type: 'PowerPages_BlankTemplate_V2',
    				id: '',
    				geo: 'CHE',
    				tenant: '',
    				correlationId: '',
    				orgEnvironmentId: '',
    				orgId: '',
    				portalProductionOrTrialType: 'Trial',
    				isTelemetryEnabled: 'True',
    				InstrumentationSettings: {
    					instrumentationKey: '',
    					collectorEndpoint: 'https://eu-mobile.events.data.microsoft.com/OneCollector/1.0/'
    				},
    				timerProfileForBatching: 'NEAR_REAL_TIME',
    				activeLanguages: ["de-DE", "fr-FR"],
    				isClientApiEnabled: 'True'
    			}
    		};
    
    		window["Microsoft"].Dynamic365.Portal.onPagesClientApiReady = (callback) => {
    			return new Promise((resolve, reject) => {
    				let isComplete = false;
    				let timeoutId;
    				const timeoutInterval = 10000;
    
    				function handleReady() {
    					if (!isComplete && window.$pages) {
    						isComplete = true;
    						clearTimeout(timeoutId);
    						try {
    							if (typeof callback === "function") {
    								callback(window.$pages);
    							}
    						} catch (e) {
    							console.error("onPagesClientApiReady callback error:", e);
    						}
    						resolve(window.$pages); // should we reject if callback throws an error
    					}
    				}
    
    				if (window.$pages) {
    					handleReady();
    					return;
    				}
    
    				function sdkListener() {
    					handleReady();
    					window.removeEventListener('pagesSDKInitialized', sdkListener);
    				}
    
    				window.addEventListener('pagesSDKInitialized', sdkListener);
    
    				timeoutId = setTimeout(() => {
    					if (!isComplete) {
    						window.removeEventListener('pagesSDKInitialized', sdkListener);
    						if (window.$pages) {
    							handleReady();
    						} else {
    							isComplete = true;
    							reject(new Error('window.$pages not available.'));
    						}
    					}
    				}, timeoutInterval);
    			});
    		};
    
    		// Mark request not cacheable if Dynamics365PortalAnalytics cookie is being refreshed by the server or if the cookie in request header is invalid
    
    
    		// For client side telemetry intializing Dynamics365PortalAnalytics cookie object
    
    		window["Microsoft"].Dynamic365.Portal.dynamics365PortalAnalytics = '8kyxQQxauU7fMoZgfeeRik8rrVJqrgdzXgxx6-On7eH7VnDGORfNTATMfbhb_K4T1ZGs5AFrtxIDZLaK9pzkaYeJEvprWufpH9npoEr39aOSPJcZLCBtYFvHXViJY3Ghxg2MxIcHlbm6__qoRWYuRQ2'; // CodeQL [SM00430] False Positive: only alphanumeric chars allowed, for non-alphanumeric char it will return INVALID_CHARACTERS_IN_COOKIE 
    
    
    	</script>
    
    	<script type="text/javascript" nonce="">
    
    
    		document.addEventListener("contentSnippetLoaded", function () {
    			document.dispatchEvent(new CustomEvent('updateDevToolRuntime',
    				{
    					detail: [
    						{
    							"Timestamp": "2026-07-08T05:21:34.2281647+00:00",
    							"PortalID": "fe71d57f-1496-4517-98f4-dca303b0b33e",
    							"Source": "Server",
    							"Level": "Info",
    							"RequestPath": "/Account/Login/ResetPassword",
    							"MessageCode": "RTPMDV",
    							"Message": "EntityName : powerpagesite, RequestName : RetrieveMultiple, Elapsed : 8.028, Duration_ms : 5.4498, CorrelationId : f49dcbb8-da24-41e7-8ee9-9eabf7bb5f01, , Cached : True",
    							"Mitigation": ""
    						},
    						{
    							"Timestamp": "2026-07-08T05:21:34.2281647+00:00",
    							"PortalID": "fe71d57f-1496-4517-98f4-dca303b0b33e",
    							"Source": "Server",
    							"Level": "Info",
    							"RequestPath": "/Account/Login/ResetPassword",
    							"MessageCode": "RTPMDV",
    							"Message": "EntityName : powerpagesite, RequestName : RetrieveMultiple, Elapsed : 8.6574, Duration_ms : 0.1141, CorrelationId : f49dcbb8-da24-41e7-8ee9-9eabf7bb5f01, , Cached : True",
    							"Mitigation": ""
    						},
    						{
    							"Timestamp": "2026-07-08T05:21:34.2281647+00:00",
    							"PortalID": "fe71d57f-1496-4517-98f4-dca303b0b33e",
    							"Source": "Server",
    							"Level": "Info",
    							"RequestPath": "/Account/Login/ResetPassword",
    							"MessageCode": "RTPMDV",
    							"Message": "EntityName : powerpagesitelanguage, RequestName : RetrieveMultiple, Elapsed : 9.0072, Duration_ms : 0.086, CorrelationId : f49dcbb8-da24-41e7-8ee9-9eabf7bb5f01, , Cached : True",
    							"Mitigation": ""
    						},
    						{
    							"Timestamp": "2026-07-08T05:21:34.2281647+00:00",
    							"PortalID": "fe71d57f-1496-4517-98f4-dca303b0b33e",
    							"Source": "Server",
    							"Level": "Info",
    							"RequestPath": "/Account/Login/ResetPassword",
    							"MessageCode": "RTPMDV",
    							"Message": "EntityName : powerpagecomponent, RequestName : RetrieveMultiple, Elapsed : 9.4247, Duration_ms : 0.122, CorrelationId : f49dcbb8-da24-41e7-8ee9-9eabf7bb5f01, , Cached : True",
    							"Mitigation": ""
    						},
    						{
    							"Timestamp": "2026-07-08T05:21:34.25956+00:00",
    							"PortalID": "fe71d57f-1496-4517-98f4-dca303b0b33e",
    							"Source": "Server",
    							"Level": "Info",
    							"RequestPath": "/Account/Login/ResetPassword",
    							"MessageCode": "RTPMDV",
    							"Message": "EntityName : systemuser, RequestName : RetrieveMultiple, Elapsed : 39,5589, Duration_ms : 0,1191, CorrelationId : f49dcbb8-da24-41e7-8ee9-9eabf7bb5f01, , Cached : True",
    							"Mitigation": ""
    						},
    						{
    							"Timestamp": "2026-07-08T05:21:34.25956+00:00",
    							"PortalID": "fe71d57f-1496-4517-98f4-dca303b0b33e",
    							"Source": "Server",
    							"Level": "Info",
    							"RequestPath": "/Account/Login/ResetPassword",
    							"MessageCode": "RTPMDV",
    							"Message": "EntityName : role, RequestName : RetrieveMultiple, Elapsed : 39,9272, Duration_ms : 0,095, CorrelationId : f49dcbb8-da24-41e7-8ee9-9eabf7bb5f01, , Cached : True",
    							"Mitigation": ""
    						},
    						{
    							"Timestamp": "2026-07-08T05:21:34.2750399+00:00",
    							"PortalID": "fe71d57f-1496-4517-98f4-dca303b0b33e",
    							"Source": "Server",
    							"Level": "Error",
    							"RequestPath": "/Account/Login/ResetPassword",
    							"MessageCode": "RTPD05",
    							"Message": "Diese Webseite wurde nicht in Deutsch gefunden.",
    							"Mitigation": "Stellen Sie sicher, dass in der Portalverwaltungs-App für diese Webseite ein aktiver lokalisierter Inhalt in Deutsch vorhanden ist: <a href=\"https://learn.microsoft.com/en-us/power-pages/configure/enable-multiple-language-support#create-content-in-multiple-languages\">Inhalt in mehreren Sprachen erstellen</a>."
    						}
    					]
    				}
    			));
    		});
    
    
    		const intercept = () => {
    			let send = XMLHttpRequest.prototype.send;
    			XMLHttpRequest.prototype.send = function () {
    				this.addEventListener('readystatechange', function () {
    					if (this.readyState === 4 && (this.getAllResponseHeaders().indexOf("x-ms-user-trace-id") >= 0 || this.getAllResponseHeaders().indexOf("x-ms-user-trace") >= 0)) {
    						try {
    							var inline = this.getResponseHeader('x-ms-user-trace');
    							if (inline) {
    								try {
    									// decode base64, parse JSON
    									var userTrace = JSON.parse(atob(inline));
    									document.dispatchEvent(new CustomEvent('updateDevToolRuntime',
    										{ detail: userTrace }
    									));
    									return;
    								} catch (e) {
    									console.warn('Failed to decode/parse inline x-ms-user-trace header', e);
    								}
    							}
    
    							// fallback: id-based cache lookup (existing logic)
    							var traceId = this.getResponseHeader('x-ms-user-trace-id');
    							if (traceId) {
    								return window.webapi.safeAjax({
    									type: 'GET',
    									url: '/_services/portal/UserTrace/Get?id=' + encodeURIComponent(traceId),
    									// Accept text because the endpoint may return JSON or plain text
    									headers: { 'Accept': 'text/plain, application/json' }
    								})
    									.then(function (userTrace) {
    										if (userTrace) {
    											document.dispatchEvent(new CustomEvent('updateDevToolRuntime', { detail: userTrace }));
    										}
    										return userTrace;
    									})
    									.fail(function (err) {
    										console.warn('Error fetching user trace by id', err);
    										return null;
    									});
    							}
    						}
    						catch (err) {
    							console.log("In intercept for ajax call, Exception while parsing UserTrace header" + err);
    						}
    					}
    				}, false);
    				send.apply(this, arguments);
    			};
    		};
    		intercept();
    
    		document.addEventListener("pagesRuntimeMessageProcessedInDevtool", function () {
    			ClientLogWrapper.getLogger().traceInfo("pagesRuntimeMessageProcessedInDevtool", "Devtool");
    		});
    
    
    	</script>
    
    
    	<div></div>
    
    
    	<!-- add anti-forgery token-->
    	<div id="antiforgerytoken" data-url="/_layout/tokenhtml"></div>
    
    
    
    	<div id="content-container" class="container wrapper-body" role="main">
    		<div id="content">
    
    
    			<div class="page-content" id="mainContent">
    
    				<div class="xrm-editable-html xrm-attribute no-value page-copy">
    					<div class="xrm-attribute-value"></div>
    				</div>
    
    
    				<form action="/Account/Login/ResetPassword" method="post">
    					<input name="__RequestVerificationToken" type="hidden"
    						value="F_ETHNWYjDNqEdHItppKuWhAXf9MpTFoUsXohZ7jnkS78PmOWXlRuoVVMwCvR6upg7MqVSjwFF7nmq-K2-UUiqLnVxNnipdxc3uJddbzoeM1">
    					<input id="UserId" name="UserId" type="hidden" value="14943b35-113f-f111-88b4-6045bd29f359">
    					<input id="Code" name="Code" type="hidden"
    						value="A5WEHEejKOC8HP9JSaw8u+Wx8ZzIN07wNf4qSjXLJZcWOGz9gAHfxsMrHSF4sFhfLSIf3xSRBLZJX4eUyLFkqfUXD1ixLWj/pZBaeOOB9gHYBk2j1IQajrquC69Yb6+RPLEQO4KLhl9sxLVUwNq+O8KphOecTeP4inv/4MF268F2NXEva88pEbIKsxJ1DR7cidaIm42NBH2gOeOSDyUXVQ==">
    					<div class="   ">
    						<fieldset>
    							<legend><span class="xrm-editable-text xrm-attribute"><span
    										class="xrm-attribute-value-encoded xrm-attribute-value">Kennwort
    										zurücksetzen</span></span></legend>
    							<div class="validation-summary-valid alert alert-block alert-danger"
    								data-valmsg-summary="true">
    								<ul>
    									<li style="display:none"></li>
    								</ul>
    							</div>
    							<div class="row mb-3">
    								<label class="col-md-4 col-form-label  fw-bold" for="Password"><span
    										class="xrm-editable-text xrm-attribute"><span
    											class="xrm-attribute-value-encoded xrm-attribute-value">Neues
    											Kennwort</span></span></label>
    								<div class="col-md-8">
    									<input class="form-control" data-val="true"
    										data-val-required="&quot;Kennwort&quot; ist ein Pflichtfeld." id="Password"
    										name="Password" type="password">
    								</div>
    							</div>
    							<div class="row mb-3">
    								<label class="col-md-4 col-form-label  fw-bold" for="ConfirmPassword"><span
    										class="xrm-editable-text xrm-attribute"><span
    											class="xrm-attribute-value-encoded xrm-attribute-value">Neues Kennwort
    											bestätigen</span></span></label>
    								<div class="col-md-8">
    									<input class="form-control" id="ConfirmPassword" name="ConfirmPassword"
    										type="password">
    								</div>
    							</div>
    							<div class="row mb-3">
    								<div class="offset-md-4 col-md-8">
    									<button id="submit-reset-password" class="btn btn-primary"></button>
    								</div>
    							</div>
    						</fieldset>
    					</div>
    				</form>
    				<script type="text/javascript" nonce="">
    					$(function () {
    						$("#submit-reset-password").on("click", function () {
    							$.blockUI({ message: null, overlayCSS: { opacity: .3 } });
    						});
    					});
    				</script>
    
    			</div>
    
    		</div>
    	</div>
    
    
    
    
    
    
    
    
    	<div id="pp-native-controls-react-root"></div>
    	<script
    		nonce="">window._nativeControlConfig = { "publicPath": "https://content.powerapps.com/resource/powerappsportal/controls", "versions": { "pcf_loader": "0.0.44", "pcf_controls": "3.22.7", "mf_shared": "0.2.25", "host": "0.13.3", "data_grid": "1.11.9", "controls_fluent_v9": "0.0.47" } }</script>
    	<script defer="defer"
    		src="https://content.powerapps.com/resource/powerappsportal/controls/host/main.b1a931c657.chunk.js"></script>
    
    
    
    	<div></div>
    
    
    	<script type="text/javascript" nonce="">
    
    		function trackCopilotCustomUsage(botSchema) {
    			const request = {
    				botSchemaName: botSchema
    			}
    			var json = JSON.stringify(request);
    			shell.ajaxSafePost({
    				type: "POST",
    				contentType: "application/json",
    				url: "/_services/copilot/TrackUsage",
    				data: json
    			}).done(function () {
    			}).fail(function (jqXhr) {
    			});
    		}
    
    		function findAndLogCustomCopilotUsage() {
    			const pageSource = document.documentElement.outerHTML;
    			const customPvaBotWebchatRegex = /api\.(preprod\.|test\.)?powerplatform\.(com|us|cn|appsplatform\.us)\/powervirtualagents\/botsbyschema\/([^/]+)\/directline\/token/;
    			const customPvaBotIframeRegex = /powerva\.microsoft\.com\/environments\/([0-9a-fA-F\-]+)\/bots\/([^/]+)\/webchat/;
    			const omniChannelRegex = /livechatwidget\/scripts\/LiveChatBootstrapper\.js/;
    
    			const matchPvaBotWebchat = pageSource.match(customPvaBotWebchatRegex);
    			if (matchPvaBotWebchat && matchPvaBotWebchat[3]) {
    				trackCopilotCustomUsage(matchPvaBotWebchat[3]);
    			}
    
    			const matchPvaBotIframe = pageSource.match(customPvaBotIframeRegex);
    			if (matchPvaBotIframe && matchPvaBotIframe[2]) {
    				trackCopilotCustomUsage(matchPvaBotIframe[2]);
    			}
    
    			const matchOmniChannel = pageSource.match(omniChannelRegex);
    			if (matchOmniChannel && matchOmniChannel[0]) {
    				trackCopilotCustomUsage("omnichannelWidget");
    			}
    		}
    
    		window.addEventListener("load", function () {
    			findAndLogCustomCopilotUsage();
    		});
    	</script>
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    	<!--Start Show Session Expire Warning Popup here -->
    
    
    	<script nonce="">
    		window.shell = window.shell || {};
    		window.shell.getTokenDeferred = async function fetchAntiForgeryToken() {
    			if (typeof console !== 'undefined' && console.warn) {
    				console.warn('[DEPRECATED] fetchAntiForgeryToken is deprecated and will be removed in a future version. Please use an alternative method for fetching anti-forgery tokens.');
    			}
    			try {
    				const tokenEndpoint = "/_layout/tokenhtml";
    
    				const response = await fetch(tokenEndpoint, {});
    
    				if (response.status !== 200) {
    					throw new Error(`Failed to fetch token: ${response.status}`);
    				}
    
    				const tokenResponse = await response.text();
    				console.log(`Token Response = ${tokenResponse}`);
    				const valueString = 'value="';
    				const terminalString = '" />';
    				const valueIndex = tokenResponse.indexOf(valueString);
    
    				if (valueIndex === -1) {
    					throw new Error('Token not found in response');
    				}
    
    				const requestVerificationToken = tokenResponse.substring(
    					valueIndex + valueString.length,
    					tokenResponse.indexOf(terminalString, valueIndex)
    				);
    
    				return requestVerificationToken || '';
    			} catch (error) {
    				if (typeof console !== 'undefined' && console.warn) {
    					console.warn('[Impersonation] Failed to fetch anti-forgery token:', error);
    				}
    				return '';
    			}
    		}
    	</script>
    
    
    
    
    
    </body>
    
    </html>
     
  • RV-19021545-0 Profile Picture
    22 on at
    @Valantis This is a single page application. could it be your fix works only on classic pages?

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Congratulations to the July Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Pages

#1
Fubar Profile Picture

Fubar 45 Super User 2026 Season 1

#2
sannavajjala87 Profile Picture

sannavajjala87 26 Super User 2026 Season 2

#3
11manish Profile Picture

11manish 16 Super User 2026 Season 2

Last 30 days Overall leaderboard