login.microsoftonline.com
Open in
urlscan Pro
2603:1037:1:8::4
Public Scan
Submitted URL: https://nationalgrid.file.force.com/
Effective URL: https://login.microsoftonline.com/f98a6a53-25f3-4212-901c-c7787fcd3495/saml2?SAMLRequest=jZNdc6IwFIb%2FCpN7FBAQmGqHihU%2FURFbuHFiD...
Submission: On June 24 via api from US — Scanned from US
Effective URL: https://login.microsoftonline.com/f98a6a53-25f3-4212-901c-c7787fcd3495/saml2?SAMLRequest=jZNdc6IwFIb%2FCpN7FBAQmGqHihU%2FURFbuHFiD...
Submission: On June 24 via api from US — Scanned from US
Form analysis
2 forms found in the DOMName: f1 — POST https://login.microsoftonline.com/f98a6a53-25f3-4212-901c-c7787fcd3495/login
<form name="f1" id="i0281" novalidate="novalidate" spellcheck="false" method="post" target="_top" autocomplete="off"
data-bind="autoSubmit: forceSubmit, attr: { action: postUrl }, ariaHidden: !!activeDialog(), css: { 'provide-min-height': svr.fUseMinHeight }" action="https://login.microsoftonline.com/f98a6a53-25f3-4212-901c-c7787fcd3495/login"
class="provide-min-height">
<!-- ko withProperties: { '$loginPage': $data } -->
<div class="login-paginated-page" data-bind="component: { name: 'master-page',
publicMethods: masterPageMethods,
params: {
serverData: svr,
showButtons: svr.fShowButtons,
showFooterLinks: true,
useWizardBehavior: svr.fUseWizardBehavior,
handleWizardButtons: false,
password: password,
hideFromAria: ariaHidden },
event: {
footerAgreementClick: footer_agreementClick } }"><!-- -->
<!-- ko ifnot: useLayoutTemplates --><!-- /ko -->
<!-- ko if: useLayoutTemplates -->
<!-- ko withProperties: { '$page': $parent } -->
<!-- ko if: isLightboxTemplate() -->
<div id="lightboxTemplateContainer" data-bind="component: { name: 'lightbox-template', params: { serverData: svr, showHeader: $page.showHeader(), headerLogo: $page.headerLogo() } }, css: { 'provide-min-height': svr.fUseMinHeight }"
class="provide-min-height"><!-- -->
<div id="lightboxBackgroundContainer" data-bind="css: { 'provide-min-height': svr.fUsePlaywrightMinHeight },
component: { name: 'background-image-control',
publicMethods: $page.backgroundControlMethods,
event: { load: $page.backgroundImageControl_onLoad } }">
<div class="background-image-holder" role="presentation" data-bind="css: { app: isAppBranding }, style: { background: backgroundStyle }" style="background: rgb(0, 20, 140);">
<!-- ko if: smallImageUrl --><!-- /ko -->
<!-- ko if: backgroundImageUrl -->
<!-- ko if: svr.fUseAltText -->
<div id="backgroundImage" role="img" data-bind="backgroundImage: backgroundImageUrl(), externalCss: { 'background-image': true }, ariaLabel: str['STR_Background_Image_AltText']" class="background-image ext-background-image"
aria-label="Organization background image" style="background-image: url("https://aadcdn.msauthimages.net/dbd5a2dd-bfjk-uakb5sw0crxyf0zqjrkzhunxh9urkdb159ewnw/logintenantbranding/0/illustration?ts=637345392299242343");"></div>
<!-- /ko -->
<!-- ko ifnot: svr.fUseAltText --><!-- /ko -->
<!-- ko if: useImageMask -->
<div data-bind="externalCss: { 'background-overlay': true }" class="background-overlay ext-background-overlay"></div>
<!-- /ko -->
<!-- /ko -->
</div>
</div>
<!-- ko if: svr.iBannerEnvironment --><!-- /ko -->
<!-- ko withProperties: { '$masterPageContext': $parentContext } -->
<div class="outer" data-bind="css: { 'app': $page.backgroundLogoUrl }">
<!-- ko if: showHeader --><!-- /ko -->
<div class="template-section main-section">
<div data-bind="externalCss: { 'middle': true }" class="middle ext-middle">
<div class="full-height" data-bind="component: { name: 'content-control', params: { serverData: svr, isVerticalSplitTemplate: $page.isVerticalSplitTemplate(), hasHeader: showHeader } }"><!-- -->
<!-- ko withProperties: { '$content': $data } -->
<div class="flex-column">
<!-- ko if: $page.paginationControlHelper.showBackgroundLogoHolder --><!-- /ko -->
<!-- ko if: $page.paginationControlHelper.showPageLevelTitleControl --><!-- /ko -->
<div class="win-scroll">
<div id="lightbox" data-bind="
animationEnd: $page.paginationControlHelper.animationEnd,
externalCss: { 'sign-in-box': true },
css: {
'inner': $content.isVerticalSplitTemplate,
'vertical-split-content': $content.isVerticalSplitTemplate,
'app': $page.backgroundLogoUrl,
'wide': $page.paginationControlHelper.useWiderWidth,
'fade-in-lightbox': $page.fadeInLightBox,
'has-popup': $page.showFedCredAndNewSession && ($page.showFedCredButtons() || $page.newSession()),
'transparent-lightbox': $page.backgroundControlMethods() && $page.backgroundControlMethods().useTransparentLightBox,
'lightbox-bottom-margin-debug': $page.showDebugDetails,
'has-header': $content.hasHeader }" class="sign-in-box ext-sign-in-box fade-in-lightbox has-popup">
<!-- ko template: { nodes: $masterPageContext.$componentTemplateNodes, data: $page } -->
<!-- ko if: svr.fShowCookieBanner --><!-- /ko -->
<div class="lightbox-cover" data-bind="css: { 'disable-lightbox': svr.fAllowGrayOutLightBox && showLightboxProgress() }"></div>
<!-- ko if: showLightboxProgress --><!-- /ko -->
<!-- ko if: loadBannerLogo -->
<div data-bind="component: { name: 'logo-control',
params: {
isChinaDc: svr.fIsChinaDc,
bannerLogoUrl: bannerLogoUrl() } }"><!-- -->
<!-- ko if: bannerLogoUrl -->
<!-- ko if: svr.fTenantBrandingCdnAddEventHandlers && svr.fUseAltText --><!-- /ko -->
<!-- ko if: !svr.fTenantBrandingCdnAddEventHandlers && svr.fUseAltText -->
<img id="bannerLogo" data-bind="attr: { src: bannerLogoUrl, alt: str['STR_Banner_Logo_AltText'] }, externalCss: { 'banner-logo': true }"
src="https://aadcdn.msauthimages.net/dbd5a2dd-bfjk-uakb5sw0crxyf0zqjrkzhunxh9urkdb159ewnw/logintenantbranding/0/bannerlogo?ts=637345392308992370" alt="Organization banner logo" class="banner-logo ext-banner-logo">
<!-- /ko -->
<!-- ko if: svr.fTenantBrandingCdnAddEventHandlers && !svr.fUseAltText --><!-- /ko -->
<!-- ko if: !svr.fTenantBrandingCdnAddEventHandlers && !svr.fUseAltText --><!-- /ko -->
<!-- /ko -->
<!-- ko if: svr.fUseNonMicrosoftDefaultBrandingForCiam -->
<!-- ko if: !bannerLogoUrl && !isChinaDc && !isCiamUserFlowUx --><!-- /ko -->
<!-- ko if: !bannerLogoUrl && isCiamUserFlowUx && bannerLogoText --><!-- /ko -->
<!-- /ko -->
<!-- ko ifnot: svr.fUseNonMicrosoftDefaultBrandingForCiam --><!-- /ko -->
</div>
<!-- /ko -->
<!-- ko if: svr.strLWADisclaimerMsg && paginationControlHelper.showLwaDisclaimer() --><!-- /ko -->
<!-- ko if: asyncInitReady -->
<div role="main" data-bind="component: { name: 'pagination-control',
publicMethods: paginationControlMethods,
params: {
enableCssAnimation: svr.fEnableCssAnimation,
disableAnimationIfAnimationEndUnsupported: svr.fDisableAnimationIfAnimationEndUnsupported,
initialViewId: initialViewId,
currentViewId: currentViewId,
initialSharedData: initialSharedData,
initialError: $loginPage.getServerError() },
event: {
cancel: paginationControl_onCancel,
load: paginationControlHelper.onLoad,
unload: paginationControlHelper.onUnload,
loadView: view_onLoadView,
showView: view_onShow,
setLightBoxFadeIn: view_onSetLightBoxFadeIn,
animationStateChange: paginationControl_onAnimationStateChange } }"><!-- -->
<div data-bind="css: { 'zero-opacity': hidePaginatedView() }" class="">
<!-- ko if: showIdentityBanner() && (sharedData.displayName || svr.sPOST_Username) --><!-- /ko -->
<div class="pagination-view animate slide-in-next" data-bind="css: {
'has-identity-banner': showIdentityBanner() && (sharedData.displayName || svr.sPOST_Username),
'zero-opacity': hidePaginatedView.hideSubView(),
'animate': animate(),
'slide-out-next': animate.isSlideOutNext(),
'slide-in-next': animate.isSlideInNext(),
'slide-out-back': animate.isSlideOutBack(),
'slide-in-back': animate.isSlideInBack() }">
<!-- ko foreach: views -->
<!-- ko if: $parent.currentViewIndex() === $index() -->
<!-- ko template: { nodes: [$data], data: $parent } -->
<div data-viewid="1" data-showfedcredbutton="true" data-bind="pageViewComponent: { name: 'login-paginated-username-view',
params: {
serverData: svr,
serverError: initialError,
isInitialView: isInitialState,
displayName: sharedData.displayName,
otherIdpRedirectUrl: sharedData.otherIdpRedirectUrl,
prefillNames: $loginPage.prefillNames,
flowToken: sharedData.flowToken,
availableSignupCreds: sharedData.availableSignupCreds,
customStrings: $loginPage.customStrings(),
isCustomizationFailure: $loginPage.isCustomStringsLoadFailure() },
event: {
redirect: $loginPage.view_onRedirect,
setPendingRequest: $loginPage.view_onSetPendingRequest,
registerDialog: $loginPage.view_onRegisterDialog,
unregisterDialog: $loginPage.view_onUnregisterDialog,
showDialog: $loginPage.view_onShowDialog,
updateAvailableCredsWithoutUsername: $loginPage.view_onUpdateAvailableCreds,
agreementClick: $loginPage.footer_agreementClick } }"><!-- -->
<!-- ko if: svr.fAllowLoginTextCustomizations -->
<div data-bind="component: { name: 'header-control',
params: {
serverData: svr,
title: customTitle() || str['WF_STR_HeaderDefault_Title'],
headerDescription: customDescription() } }">
<div>
<div class="row title ext-title" id="loginHeader" data-bind="externalCss: { 'title': true }">
<div role="heading" aria-level="1" data-bind="text: title">Sign in</div>
<!-- ko if: isSubtitleVisible --><!-- /ko -->
</div>
<!-- ko if: headerDescription --><!-- /ko -->
</div>
</div>
<!-- /ko -->
<!-- ko ifnot: svr.fAllowLoginTextCustomizations --><!-- /ko -->
<!-- ko if: pageDescription && !svr.fHideLoginDesc --><!-- /ko -->
<div class="row">
<div role="alert" aria-live="assertive">
<!-- ko if: usernameTextbox.error --><!-- /ko -->
</div>
<div class="form-group col-md-24">
<!-- ko if: prefillNames().length > 1 --><!-- /ko -->
<!-- ko ifnot: prefillNames().length > 1 -->
<div class="placeholderContainer" data-bind="component: { name: 'placeholder-textbox-field',
publicMethods: usernameTextbox.placeholderTextboxMethods,
params: {
serverData: svr,
hintText: tenantBranding.unsafe_userIdLabel || str['STR_SSSU_Username_Hint'] || str['CT_PWD_STR_Email_Example'],
hintCss: 'placeholder' + (!svr.fAllowPhoneSignIn ? ' ltr_override' : '') },
event: {
updateFocus: usernameTextbox.textbox_onUpdateFocus } }"><!-- ko withProperties: { '$placeholderText': placeholderText } -->
<!-- ko template: { nodes: $componentTemplateNodes, data: $parent } -->
<input type="email" name="loginfmt" id="i0116" maxlength="113" class="form-control ltr_override input ext-input text-box ext-text-box" aria-required="true" data-report-event="Signin_Email_Phone_Skype"
data-report-trigger="click" data-report-value="Email_Phone_Skype_Entry" data-bind="
attr: { lang: svr.fApplyAsciiRegexOnInput ? null : 'en' },
externalCss: {
'input': true,
'text-box': true,
'has-error': usernameTextbox.error },
ariaLabel: tenantBranding.unsafe_userIdLabel || str['CT_PWD_STR_Username_AriaLabel'],
ariaDescribedBy: 'loginHeader' + (pageDescription && !svr.fHideLoginDesc ? ' loginDescription usernameError' : ' usernameError'),
textInput: usernameTextbox.value,
hasFocusEx: usernameTextbox.focused,
placeholder: $placeholderText,
autocomplete: svr.fIsUpdatedAutocompleteEnabled ? 'username' : null," aria-label="Enter your email, phone, or Skype." aria-describedby="loginHeader usernameError" placeholder="Email, phone, or Skype">
<!-- ko if: svr.fIsUpdatedAutocompleteEnabled -->
<input name="passwd" type="password" id="i0118" data-bind="moveOffScreen, textInput: passwordBrowserPrefill" class="moveOffScreen" tabindex="-1" aria-hidden="true">
<!-- /ko -->
<!-- ko ifnot: svr.fIsUpdatedAutocompleteEnabled --><!-- /ko -->
<!-- /ko -->
<!-- /ko -->
<!-- ko ifnot: usePlaceholderAttribute --><!-- /ko -->
</div>
<!-- /ko -->
</div>
</div>
<div data-bind="css: { 'position-buttons': !tenantBranding.BoilerPlateText }, externalCss: { 'password-reset-links-container': true }" class="password-reset-links-container ext-password-reset-links-container">
<div class="row">
<div class="col-md-24">
<div class="text-13">
<!-- ko if: svr.fCBShowSignUp && !svr.fDoIfExists && !svr.fCheckProofForAliases --><!-- /ko -->
<!-- ko ifnot: hideCantAccessYourAccount -->
<div class="form-group">
<a id="cantAccessAccount" name="cannotAccessAccount" data-bind="
text: unsafe_cantAccessYourAccountText,
click: accessRecoveryLink ? null : cantAccessAccount_onClick,
attr: { target: accessRecoveryLink && '_blank' },
href: accessRecoveryLink || '#'" target="" href="#">Can’t access your account?</a>
</div>
<!-- /ko -->
<!-- ko if: showFidoLinkInline && hasFido() && (availableCredsWithoutUsername().length >= 2 || svr.fShowForgotUsernameLink || isOfflineAccountVisible) --><!-- /ko -->
<!-- ko if: svr.fEnableShowPickerCredObservable -->
<!-- ko if: showCredPicker() --><!-- /ko -->
<!-- /ko -->
<!-- ko ifnot: svr.fEnableShowPickerCredObservable --><!-- /ko -->
<!-- ko if: svr.urlSkipZtd --><!-- /ko -->
</div>
</div>
</div>
</div>
<!-- ko if: svr.fShowLegalMessagingInline --><!-- /ko -->
<div class="win-button-pin-bottom boilerplate-button-bottom" data-bind="css : { 'boilerplate-button-bottom': tenantBranding.BoilerPlateText }">
<div class="row move-buttons" data-bind="css: { 'move-buttons': tenantBranding.BoilerPlateText }">
<div data-bind="component: { name: 'footer-buttons-field',
params: {
serverData: svr,
isPrimaryButtonEnabled: !isRequestPending(),
isPrimaryButtonVisible: svr.fShowButtons,
isSecondaryButtonEnabled: true,
isSecondaryButtonVisible: svr.fShowButtons && isSecondaryButtonVisible(),
secondaryButtonText: secondaryButtonText() },
event: {
primaryButtonClick: primaryButton_onClick,
secondaryButtonClick: secondaryButton_onClick } }">
<div class="col-xs-24 no-padding-left-right button-container button-field-container ext-button-field-container" data-bind="
visible: isPrimaryButtonVisible() || isSecondaryButtonVisible(),
css: { 'no-margin-bottom': removeBottomMargin },
externalCss: { 'button-field-container': true }">
<!-- ko if: isSecondaryButtonVisible -->
<div data-bind="css: { 'inline-block': true }, externalCss: { 'button-item': true }" class="inline-block button-item ext-button-item">
<input type="button" id="idBtn_Back" class="win-button button-secondary button ext-button secondary ext-secondary" data-bind="
attr: { 'id': secondaryButtonId || 'idBtn_Back' },
externalCss: {
'button': true,
'secondary': true },
value: secondaryButtonText() || str['CT_HRD_STR_Splitter_Back'],
ariaDescribedBy: secondaryButtonDescribedBy,
hasFocus: focusOnSecondaryButton,
click: secondaryButton_onClick,
enable: isSecondaryButtonEnabled" value="Back">
</div>
<!-- /ko -->
<div data-bind="css: { 'inline-block': isPrimaryButtonVisible }, externalCss: { 'button-item': true }" class="inline-block button-item ext-button-item">
<!-- type="submit" is needed in-addition to 'type' in primaryButtonAttributes observable to support IE8 -->
<input type="submit" id="idSIButton9" class="win-button button_primary button ext-button primary ext-primary" data-report-event="Signin_Submit" data-report-trigger="click" data-report-value="Submit" data-bind="
attr: primaryButtonAttributes,
externalCss: {
'button': true,
'primary': true },
value: primaryButtonText() || str['CT_PWD_STR_SignIn_Button_Next'],
hasFocus: focusOnPrimaryButton,
click: primaryButton_onClick,
enable: isPrimaryButtonEnabled,
visible: isPrimaryButtonVisible,
preventTabbing: primaryButtonPreventTabbing" value="Next">
</div>
</div>
</div>
</div>
</div>
<!-- ko if: tenantBranding.BoilerPlateText -->
<div id="idBoilerPlateText" class="wrap-content boilerplate-text ext-boilerplate-text" data-bind="
htmlWithMods: tenantBranding.BoilerPlateText,
htmlMods: { filterLinks: svr.fIsHosted },
css: { 'transparent-lightbox': tenantBranding.UseTransparentLightBox },
externalCss: { 'boilerplate-text': true }">
<p>WARNING: This is a National Grid system. You must be authorised to use this system and your use is strictly limited to the extent of that authorisation. Unauthorised access to any program or data held on this system
may be a criminal offence in the US under the Computer Fraud and Abuse Act 1986, and in the UK under the Computer Misuse Act 1990. If you are an employee or contractor of National Grid unauthorised access may also
constitute a disciplinary offence. If you are unsure of your obligations or level of authority do not continue and please contact your manager. Authorised users must familiarise themselves and comply with National
Grid’s information security policies and standards. Monitoring of the use of National Grid’s systems will take place where, and to the extent that, National Grid is permitted to do so lawfully.</p>
</div>
<!-- /ko -->
</div><!-- /ko -->
<!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- /ko -->
</div>
</div>
</div>
<!-- /ko -->
<input type="hidden" name="ps" data-bind="value: postedLoginStateViewId" value="">
<input type="hidden" name="psRNGCDefaultType" data-bind="value: postedLoginStateViewRNGCDefaultType" value="">
<input type="hidden" name="psRNGCEntropy" data-bind="value: postedLoginStateViewRNGCEntropy" value="">
<input type="hidden" name="psRNGCSLK" data-bind="value: postedLoginStateViewRNGCSLK" value="">
<!-- ko if: svr.sCanaryTokenName && !svr.fSkipRenderingNewCanaryToken -->
<input type="hidden" data-bind="attr: { name: svr.sCanaryTokenName }, value: svr.canary" name="canary" value="07hf9LqQ24tnpn5QP0AjTVyWvKU3bc3tYITYwEzWypM=5:1:CANARY:vy705Gu+KpYRwu3p1JWgpOvBIlgTeOPXW0Em/kmFWcc=">
<!-- /ko -->
<!-- ko if: !svr.sCanaryTokenName || svr.fSkipRenderingNewCanaryToken --><!-- /ko -->
<input type="hidden" name="ctx" data-bind="value: ctx"
value="rQQIARAAjZHNa9MAAMWTdV-OTYcnwYsHmYJmzXeTwpCuiU2bpEmaJW0CUpK0adM2SZtkCwn-ASIIsuOOnmSIkx09iR6EnYbHgXcZCEMQdnR69LQfvNPjXd5vBShvDJNkGpeLxcBKvDCwJoPI62362WZsTfqxG0ZOf9MJ_ej2yvohsJetdp7x748_PF-Tv10cgg-uNy5-Bt_OddFq5QpjQmEDMxKZSvp__ta0vEOxSWtohZW6x3GTWk3t2aSjICgEjT0mQI02x4tOTZf81h6JpvGun_KdgJwRkislVaMzbES-kavIGK8hecRBkImwu9qszsuu0iWE6kiKo2Y7UHOy10gpXetngt2ALK3dGu5SdsNpVhg6Cyksh3XD1KRuXMeZQcAqKJObswixGLii4bFgWTNjLHMSp4uMEmIIOuqYjTwnVH6y7WVdIY8SiLWI2B0R_EiQONZM9LGUOlE1yJ1AnDabnGfKSE7jLdNyp724L5oKyW6nyikI_gDBs7kF1fIn6EEBLB4X7rs0ZZEWgUEo4WIQjl7dQcOIAzmlElVynR6G08Tp_Or5_CpcKC8vr6wDd4B7wOU8-GbhStzd36--PLR57uhoY__sVwE4WSjCpaFLCzMFxZNgGhCKDFdGO3rW3uM1zHawxKjvGCmbt7OpuEWUkdeLayeLwMUi-GIJOFgCPt6gr2f-SRxuwTADG_A_DOZp_GkNuLz59eXFu6P97z-581uPiwKs2_zMd1SJyWW9rcAhV43TxkDoq9W-_UiMW6SH17Sci7f-AA2">
<input type="hidden" name="hpgrequestid" data-bind="value: svr.sessionId" value="c38df51b-6228-484b-afaf-2692daf20300">
<input type="hidden" id="i0327" data-bind="attr: { name: svr.sFTName }, value: flowToken" name="flowToken"
value="AQABAAEAAAD--DLA3VO7QrddgJg7WevrSThiXWccJpeoVrBvKEn3peMM1BAoYbIAG3LFTL3ktAaYF7zQH_FEoteLpZXA7edzbxVOdGop9wk6w_4CJjDCVsjeX-X1vz7Mg5AvRecGXimAlW08yU1FCJcttYArLcmpXQT8f-5DpMFQpZoNvtSOl3AsLNinkZl8YbmoQH6JSCxpyeY3mBkY_Ar7nh_aOc78X30Aa9EamTtP75ksn0JoxhPm2TZ7fwOzkjahzKS8Zrb2FPZTw0oKOXgJ-BWscLB4G94KLMPLRNfAEXcuy5VE4Ofsvdwvu_5qTF9ifHHLi10yGCMnz_-GTM9fUd-kDMLTAo1V6W4cdnrgdXYuaS90OXRz0XUBSVjeFUJYi1oSYhElqV259f6VoTDVtDtx8aX9CYK8SwkZr8AO0k9_zJ-LkDE9Ar21jstACrvnecFdJC0KLUVwPfrcAX3XPant_GycbB-m91al0ukPz6lOpOeDqYKdsTt2JVA8m-6xoo_MJa1YgGkqz4tIMasgT2uknp24qMtUggTqN9xxxVzFEi0DXzPnZItOtbQ2DC8IfTn33msPY3zhPn3xtoVB-N3dx6imhHbaw4zq82oHJISk0lUpsiAA">
<input type="hidden" name="PPSX" data-bind="value: svr.sRandomBlob" value="">
<input type="hidden" name="NewUser" value="1">
<input type="hidden" name="FoundMSAs" data-bind="value: svr.sFoundMSAs" value="">
<input type="hidden" name="fspost" data-bind="value: svr.fPOST_ForceSignin ? 1 : 0" value="0">
<input type="hidden" name="i21" data-bind="value: wasLearnMoreShown() ? 1 : 0" value="0">
<input type="hidden" name="CookieDisclosure" data-bind="value: svr.fShowCookieBanner ? 1 : 0" value="0">
<input type="hidden" name="IsFidoSupported" data-bind="value: isFidoSupported() ? 1 : 0" value="1">
<input type="hidden" name="isSignupPost" data-bind="value: isSignupPost() ? 1 : 0" value="0">
<!-- ko ifnot: svr.fShouldSupportTargetCredentialForRecovery --><!-- /ko -->
<!-- ko if: svr.fShouldSupportTargetCredentialForRecovery && targetCredentialForRecovery() --><!-- /ko -->
<div data-bind="component: { name: 'instrumentation-control',
publicMethods: instrumentationMethods,
params: { serverData: svr } }">
<input type="hidden" name="i19" data-bind="value: timeOnPage" value="">
</div>
<!-- /ko -->
</div>
<!-- ko if: $page.showFedCredAndNewSession -->
<!-- ko ifnot: svr.fUsePromotedFedCredTypesArray --><!-- /ko -->
<!-- ko if: svr.fUsePromotedFedCredTypesArray -->
<!-- ko if: $page.showFedCredButtons -->
<div data-bind="component: { name: 'fed-cred-buttons-control',
params: {
serverData: svr,
fedCredOptions: $page.otherSigninOptions },
event: {
fedCredButtonClick: $page.otherSigninOptionsButton_onClick } }"><!-- -->
<!-- ko withProperties: { '$fedCredButtonsControl': $data } -->
<div data-bind="css: { 'app': $page.backgroundLogoUrl }, externalCss: { 'promoted-fed-cred-box': true }" class="promoted-fed-cred-box ext-promoted-fed-cred-box">
<div class="promoted-fed-cred-content" data-bind="css: {
'animate': $page.useCssAnimations && $page.animate(),
'slide-out-next': $page.animate.isSlideOutNext,
'slide-in-next': $page.animate.isSlideInNext,
'slide-out-back': $page.animate.isSlideOutBack,
'slide-in-back': $page.animate.isSlideInBack,
'app': $page.backgroundLogoUrl }">
<!-- ko foreach: $fedCredButtonsControl.fedCredOptions -->
<div class="row tile">
<div class="table" role="button" tabindex="0" data-bind="
css: { 'list-item': svr.fSupportWindowsStyles },
pressEnter: $fedCredButtonsControl.fedCredButton_onClick,
click: $fedCredButtonsControl.fedCredButton_onClick,
ariaLabel: $data.text" aria-label="Sign-in options">
<div class="table-row">
<div class="table-cell tile-img medium">
<!-- ko component: 'accessible-image-control' --><!-- ko if: (isHighContrastBlackTheme || hasDarkBackground || svr.fHasBackgroundColor) && !isHighContrastWhiteTheme --><!-- /ko -->
<!-- ko if: (isHighContrastWhiteTheme || (!hasDarkBackground && !svr.fHasBackgroundColor)) && !isHighContrastBlackTheme -->
<!-- ko template: { nodes: [darkImageNode], data: $parent } --><img class="tile-img medium" role="presentation" data-bind="attr: { src: $data.darkIconUrl }"
src="https://aadcdn.msauth.net/shared/1.0/content/images/signin-options_3e3f6b73c3f310c31d2c4d131a8ab8c6.svg"><!-- /ko -->
<!-- /ko --><!-- /ko -->
</div>
<div class="table-cell text-left content" data-bind="css: { 'content': !svr.fSupportWindowsStyles }">
<div data-bind="
text: $data.text,
attr: { 'data-test-id': $data.testId }" data-test-id="signinOptions">Sign-in options</div>
</div>
</div>
</div>
</div>
<!-- /ko -->
</div>
</div>
<!-- /ko -->
</div>
<!-- /ko -->
<!-- ko if: $page.showSignupFedCredButtons --><!-- /ko -->
<!-- /ko -->
<!-- ko if: $page.newSession --><!-- /ko -->
<!-- /ko -->
<!-- ko if: $page.showDebugDetails --><!-- /ko -->
</div>
</div>
<!-- /ko -->
</div>
</div>
</div>
<!-- ko if: $page.paginationControlHelper.showFooterControl -->
<div id="footer" role="contentinfo" data-bind="
externalCss: {
'footer': true,
'has-background': !$page.useDefaultBackground() && $page.showFooter(),
'background-always-visible': $page.backgroundLogoUrl }" class="footer ext-footer">
<div data-bind="component: { name: 'footer-control',
publicMethods: $page.footerMethods,
params: {
serverData: svr,
useDefaultBackground: $page.useDefaultBackground(),
hasDarkBackground: $page.backgroundLogoUrl(),
showLinks: true,
showFooter: $page.showFooter(),
hideTOU: $page.hideTOU(),
termsText: $page.termsText(),
termsLink: $page.termsLink(),
hidePrivacy: $page.hidePrivacy(),
privacyText: $page.privacyText(),
privacyLink: $page.privacyLink() },
event: {
agreementClick: $page.footer_agreementClick,
showDebugDetails: $page.toggleDebugDetails_onClick } }"><!-- ko if: !hideFooter && (showLinks || impressumLink || showIcpLicense) -->
<div id="footerLinks" class="footerNode text-secondary footer-links ext-footer-links" data-bind="externalCss: { 'footer-links': true }">
<!-- ko if: showFooter -->
<!-- ko if: !hideTOU -->
<a id="ftrTerms" data-bind="
text: termsText,
href: termsLink,
click: termsLink_onClick,
externalCss: {
'footer-content': true,
'footer-item': true,
'has-background': !useDefaultBackground,
'background-always-visible': hasDarkBackground }" href="https://www.microsoft.com/en-US/servicesagreement/" class="footer-content ext-footer-content footer-item ext-footer-item has-background ext-has-background">Terms of use</a>
<!-- /ko -->
<!-- ko if: !hidePrivacy -->
<a id="ftrPrivacy" data-bind="
text: privacyText,
href: privacyLink,
click: privacyLink_onClick,
externalCss: {
'footer-content': true,
'footer-item': true,
'has-background': !useDefaultBackground,
'background-always-visible': hasDarkBackground }" href="https://privacy.microsoft.com/en-US/privacystatement" class="footer-content ext-footer-content footer-item ext-footer-item has-background ext-has-background">Privacy & cookies</a>
<!-- /ko -->
<!-- ko if: impressumLink --><!-- /ko -->
<!-- ko if: a11yConformeLink --><!-- /ko -->
<!-- ko if: showIcpLicense --><!-- /ko -->
<!-- /ko -->
<!-- Set attr binding before hasFocusEx to prevent Narrator from losing focus -->
<a id="moreOptions" href="#" role="button" data-bind="
click: moreInfo_onClick,
ariaLabel: str['CT_STR_More_Options_Ellipsis_AriaLabel'],
attr: { 'aria-expanded': showDebugDetails().toString() },
hasFocusEx: focusMoreInfo(),
externalCss: {
'footer-content': true,
'footer-item': true,
'debug-item': true,
'has-background': !useDefaultBackground,
'background-always-visible': hasDarkBackground }" aria-label="Click here for troubleshooting information" aria-expanded="false" class="footer-content ext-footer-content footer-item ext-footer-item debug-item ext-debug-item has-background ext-has-background">...</a>
</div>
<!-- /ko -->
<!-- ko if: svr.fShowLegalMessagingInline && showLinks --><!-- /ko -->
</div>
</div>
<!-- /ko -->
</div>
<!-- /ko -->
</div>
<!-- /ko -->
<!-- ko if: isVerticalSplitTemplate() && isTemplateLoaded() --><!-- /ko -->
<!-- /ko -->
<!-- /ko -->
</div>
<!-- /ko -->
</form>
POST
<form data-bind="postRedirectForm: postRedirect" method="POST" aria-hidden="true" target="_top"></form>
Text Content
Sign in Can’t access your account? WARNING: This is a National Grid system. You must be authorised to use this system and your use is strictly limited to the extent of that authorisation. Unauthorised access to any program or data held on this system may be a criminal offence in the US under the Computer Fraud and Abuse Act 1986, and in the UK under the Computer Misuse Act 1990. If you are an employee or contractor of National Grid unauthorised access may also constitute a disciplinary offence. If you are unsure of your obligations or level of authority do not continue and please contact your manager. Authorised users must familiarise themselves and comply with National Grid’s information security policies and standards. Monitoring of the use of National Grid’s systems will take place where, and to the extent that, National Grid is permitted to do so lawfully. Sign-in options Terms of use Privacy & cookies ...