CINXE.COM
The Guardian | Login
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="robots" content="noindex,nofollow" /> <link rel="icon" href="https://static.guim.co.uk/images/favicon-32x32.ico" /> <title>The Guardian | Login</title> <script src="https://assets.guim.co.uk/polyfill.io/v3/polyfill.min.js?features=es2015%2Ces2016%2Ces2017%2Ces2018%2Ces2019%2Ces2020%2Ces2021%2Ces2022%2Cfetch%2CglobalThis%2CURLSearchParams"></script> <!-- Core widget js and css --> <script type="text/javascript" src="https://ok9static.oktacdn.com/assets/js/sdk/okta-signin-widget/7.29.3/js/okta-sign-in.min.js" integrity="sha384-Dhk4/4to/ZlPZG15fMqAUK+6XPCR9+CDW7kH7nA19FWAlYQ2rZeCfTfCOaX54SLW" crossorigin="anonymous"></script> <link rel="stylesheet" type="text/css" href="https://ok9static.oktacdn.com/assets/js/sdk/okta-signin-widget/7.29.3/css/okta-sign-in.min.css" integrity="sha384-BkMkRN4QIU9BrZI9cC62jAat0eEZqMnykP67tCJEVQ5xJIFXzcq18qiSZGWxLvtg" crossorigin="anonymous"> <!-- Customizable css theme options. Link your own stylesheet or override styles inline. --> <link rel="stylesheet" type="text/css" href="" integrity="" crossorigin="anonymous"> <!-- styles for custom sign in --> <link rel="stylesheet" type="text/css" href="https://ok9static.oktacdn.com/assets/loginpage/css/custom-signin.a91af2abfd04662e499bd3e151150dbf.css" integrity="sha384-BhMidK4jYIQaVFKNVHUvbfdgrt4NVlnlTZMsOMWLdWkme3j1JcshKDNQiMssd7sN" crossorigin="anonymous"> <script type="text/javascript" nonce="jh3iJSCWWqxhxUKMCB94EQ"> window.onerror = function (msg, _url, _lineNo, _colNo, error) { if (window.console && window.console.error) { if (error) { console.error(error); } else { console.error(msg); } } // Return true to suppress "Script Error" alerts in IE return true; }; </script> <style> /* hiding the container by default, so it's not shown during social sign in */ #okta-login-container { visibility: hidden; } /* basic noscript styling */ #noscript { color: #121212; font-family: 'Guardian Text Sans Web', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.5; margin: 10px auto; max-width: 600px; padding: 20px; } </style> </head> <body> <noscript> <div id="noscript"> <p> <b>The Guardian</b> </p> <p> <b> Please <a href="https://www.whatismybrowser.com/guides/how-to-enable-javascript/" >enable JavaScript</a > in your browser/device settings and try again. </b> </p> <p> We use JavaScript to provide a seamless and secure authentication experience. </p> <p> For further help please contact our customer service team at <a href="mailto:signinsupport@theguardian.com" >signinsupport@theguardian.com</a >. </p> </div> </noscript> <div id="okta-login-container"></div> <div id="okta-sign-in" class="auth-container main-container unsupported-message-container" style="display:none"> <div id="unsupported-cookie" class="unsupported-message" style="display:none"> <h2 class="o-form-head">Cookies are required</h2> <p>Cookies are disabled on your browser. Please enable Cookies and refresh this page.</p> <a class="button button-primary" target="_blank" href="."> Refresh </a> </div> </div> <div id="inactive-tab-main-div" style="display:none;"> <div class="inactive-tab-container"> <div class="inactive-tab-header"> <img src="https://ok9static.oktacdn.com/fs/bco/1/fs080lnjighTYmHw7417" alt="Guardian News & Media" class="report-org-logo"> <div class="divider"></div> </div> <div class="inactive-tab-content"> <h2 class="inactive-tab-content-title">The page has timed out</h2> <p class="inactive-tab-details">If this page does not reload automatically, please refresh your browser.</p> </div> </div> </div> <script type="text/javascript" nonce="jh3iJSCWWqxhxUKMCB94EQ"> var signInSuccessCallBackFunction; var oktaData = {"redirectUri":"https\x3A\x2F\x2Fprofile.theguardian.com\x2Foauth2\x2Faus3xgj525jYQRowl417\x2Fv1\x2Fauthorize\x3Fclient_id\x3D0oa9ccs8kw9LumQak417\x26scope\x3Dopenid\x2520profile\x2520email\x2520guardian.avatar\x2Dapi.read.self\x2520guardian.avatar\x2Dapi.update.self\x2520guardian.identity\x2Dapi.newsletters.read.self\x2520guardian.identity\x2Dapi.newsletters.update.self\x2520guardian.identity\x2Dapi.user.read.self.secure\x2520guardian.identity\x2Dapi.user.update.self.secure\x2520guardian.identity\x2Dapi.user.username.create.self.secure\x2520guardian.identity\x2Dapi.consents.read.self\x2520guardian.identity\x2Dapi.consents.update.self\x2520guardian.members\x2Ddata\x2Dapi.complete.read.self.secure\x2520guardian.members\x2Ddata\x2Dapi.read.self\x2520guardian.members\x2Ddata\x2Dapi.update.self.secure\x26response_type\x3Dcode\x26redirect_uri\x3Dhttps\x253A\x252F\x252Fmanage.theguardian.com\x252Foauth\x252Fcallback\x26state\x3DDrJpo3kZLutsQ33Ks0bcqQ\x253D\x253D\x26code_challenge\x3DxGqAT1RGWyAOaefXeGxulFR3Q6XZMOuYpxYh2wn67Yg\x26code_challenge_method\x3DS256\x26max_age\x3D2592000","isMobileSso":false,"orgSyncToAccountChooserEnabled":true,"fromUri":"","isMobileClientLogin":false,"requestContext":{"app":{"type":"object","value":{"name":"oidc_client","label":"manage_my_account","id":"0oa9ccs8kw9LumQak417"}},"authentication":{"request":{"max_age":2592000,"scope":"openid\x20profile\x20email\x20guardian.avatar\x2Dapi.read.self\x20guardian.avatar\x2Dapi.update.self\x20guardian.identity\x2Dapi.newsletters.read.self\x20guardian.identity\x2Dapi.newsletters.update.self\x20guardian.identity\x2Dapi.user.read.self.secure\x20guardian.identity\x2Dapi.user.update.self.secure\x20guardian.identity\x2Dapi.user.username.create.self.secure\x20guardian.identity\x2Dapi.consents.read.self\x20guardian.identity\x2Dapi.consents.update.self\x20guardian.members\x2Ddata\x2Dapi.complete.read.self.secure\x20guardian.members\x2Ddata\x2Dapi.read.self\x20guardian.members\x2Ddata\x2Dapi.update.self.secure","display":"page","response_type":"code","redirect_uri":"https\x3A\x2F\x2Fmanage.theguardian.com\x2Foauth\x2Fcallback","state":"DrJpo3kZLutsQ33Ks0bcqQ\x3D\x3D","code_challenge_method":"S256","code_challenge":"xGqAT1RGWyAOaefXeGxulFR3Q6XZMOuYpxYh2wn67Yg","response_mode":"query"},"protocol":{},"client":{"name":"oidc_client","label":"manage_my_account","id":"0oa9ccs8kw9LumQak417"},"type":"object","value":{"request":{"max_age":2592000,"scope":"openid\x20profile\x20email\x20guardian.avatar\x2Dapi.read.self\x20guardian.avatar\x2Dapi.update.self\x20guardian.identity\x2Dapi.newsletters.read.self\x20guardian.identity\x2Dapi.newsletters.update.self\x20guardian.identity\x2Dapi.user.read.self.secure\x20guardian.identity\x2Dapi.user.update.self.secure\x20guardian.identity\x2Dapi.user.username.create.self.secure\x20guardian.identity\x2Dapi.consents.read.self\x20guardian.identity\x2Dapi.consents.update.self\x20guardian.members\x2Ddata\x2Dapi.complete.read.self.secure\x20guardian.members\x2Ddata\x2Dapi.read.self\x20guardian.members\x2Ddata\x2Dapi.update.self.secure","display":"page","response_type":"code","redirect_uri":"https\x3A\x2F\x2Fmanage.theguardian.com\x2Foauth\x2Fcallback","state":"DrJpo3kZLutsQ33Ks0bcqQ\x3D\x3D","code_challenge_method":"S256","code_challenge":"xGqAT1RGWyAOaefXeGxulFR3Q6XZMOuYpxYh2wn67Yg","response_mode":"query"},"protocol":{},"issuer":{"name":"Guardian\x20Authorization\x20Server","id":"aus3xgj525jYQRowl417","uri":"https\x3A\x2F\x2Fprofile.theguardian.com\x2Foauth2\x2Faus3xgj525jYQRowl417"}},"issuer":{"name":"Guardian\x20Authorization\x20Server","id":"aus3xgj525jYQRowl417","uri":"https\x3A\x2F\x2Fprofile.theguardian.com\x2Foauth2\x2Faus3xgj525jYQRowl417"}},"target":{"clientId":"0oa9ccs8kw9LumQak417","name":"oidc_client","label":"manage_my_account"}},"countryIso":"SG","inactiveTab":{"elementId":"inactive\x2Dtab\x2Dmain\x2Ddiv","avoidPageRefresh":true,"enabled":true},"signIn":{"logoText":"The\x20Guardian\x20logo","brandName":"The\x20Guardian","language":"en","consent":{"cancel":function(){window.location.href='https\x3A\x2F\x2Fprofile.theguardian.com\x2Flogin\x2Fstep\x2Dup\x2Fredirect\x3FstateToken\x3D02.id.Xl8NzWrtSPVgvEKI54\x2DaMYiORvspscJbpNrTLFIc';}},"i18n":{"en":{"mfa.challenge.password.placeholder":"Password","help":"Help","password.forgot.email.or.username.tooltip":"Email\x20or\x20Username","needhelp":"Need\x20help\x20signing\x20in\x3F","primaryauth.username.placeholder":"Username","password.forgot.email.or.username.placeholder":"Email\x20or\x20Username","account.unlock.email.or.username.tooltip":"Email\x20or\x20Username","unlockaccount":"Unlock\x20account\x3F","account.unlock.email.or.username.placeholder":"Email\x20or\x20Username","primaryauth.password.placeholder":"Password","primaryauth.title":"Sign\x20In","forgotpassword":"Forgot\x20password\x3F"}},"features":{"hideSignOutLinkInMFA":false,"emailRecovery":true,"deviceFingerprinting":true,"showIdentifier":true,"consent":true,"useDeviceFingerprintForSecurityImage":true,"customExpiredPassword":true,"router":true,"showPasswordToggleOnSignInPage":true,"securityImage":true,"autoPush":true,"smsRecovery":false,"idpDiscovery":false,"selfServiceUnlock":true,"webauthn":true,"passwordlessAuth":true,"showPasswordRequirementsAsHtmlList":true,"registration":false,"rememberMe":true,"callRecovery":false,"multiOptionalFactorEnroll":true},"baseUrl":"https\x3A\x2F\x2Fprofile.theguardian.com","assets":{"baseUrl":"https\x3A\x2F\x2Fok9static.oktacdn.com\x2Fassets\x2Fjs\x2Fsdk\x2Fokta\x2Dsignin\x2Dwidget\x2F7.29.3"},"customButtons":[],"idpDiscovery":{"requestContext":""},"logo":"https\x3A\x2F\x2Fok9static.oktacdn.com\x2Ffs\x2Fbco\x2F1\x2Ffs080lnjighTYmHw7417","stateToken":"02.id.Xl8NzWrtSPVgvEKI54\x2DaMYiORvspscJbpNrTLFIc","helpLinks":{"help":"https\x3A\x2F\x2Fprofile.theguardian.com\x2Fsignin","forgotPassword":"https\x3A\x2F\x2Fprofile.theguardian.com\x2Fsignin","unlock":"https\x3A\x2F\x2Fprofile.theguardian.com\x2Fsignin","custom":[]},"piv":{}},"accountChooserDiscoveryUrl":"https\x3A\x2F\x2Flogin.okta.com\x2Fdiscovery\x2Fiframe.html"}; var runLoginPage = function(fn) { var mainScript = document.createElement('script'); mainScript.src = "https://ok9static.oktacdn.com/assets/js/mvc/loginpage/initLoginPage.pack.58de3be0c9b511a0fdfd7ea4f69b56fc.js"; mainScript.integrity = "sha384-cJ4LGViZBmIttMPH+ao2RyPuN5BztKWYWIa4smbm56r1cUhkU/Dr6vTS3UoPbKTI"; mainScript.crossOrigin = "anonymous"; document.getElementsByTagName('head')[0].appendChild(mainScript); fn && mainScript.addEventListener('load', function () { setTimeout(fn, 1) }); }; var OktaUtil = { _addClass: function(el, className) { if(el) { var elementClasses = el.className.split(" "); if (elementClasses.indexOf(className) == -1) { el.className += " " + className; } } }, _removeElement: function(el) { if(el) { el.parentNode.removeChild(el); } }, _hideElement: function(el) { if(el) { el.style.display = 'none'; } }, _isDocumentVisible: function() { return document.visibilityState === 'visible'; }, addLoginContainerClass: function () { this._addClass(document.getElementById('okta-login-container'), 'login-container'); }, showUnsupportedCookieWarning: function () { document.getElementById('okta-sign-in').removeAttribute('style'); document.getElementById('unsupported-cookie').removeAttribute('style'); }, removeUnsupportedCookieWarning: function () { this._removeElement(document.getElementById('okta-sign-in')); }, hideOktaLoginContainer: function () { this._hideElement(document.getElementById('okta-login-container')); }, isChromeOs: function () { return /\bCrOS\b/.test(navigator.userAgent); }, addChromeOSScript: function() { var chromeOSScript = document.createElement('script'); chromeOSScript.src = "/js/google/users-1.0.js"; document.getElementsByTagName('head')[0].appendChild(chromeOSScript); }, getSignInWidgetConfig: function () { if (oktaData.inactiveTab && oktaData.inactiveTab.enabled && !this._isDocumentVisible() && !oktaData.inactiveTab.avoidPageRefresh) { // Show a loading state and wait for the visibility event this.hideOktaLoginContainer(); // remove stateToken so SIW does not attempt a login flow oktaData.signIn.stateToken = undefined; } return oktaData.signIn; }, completeLogin: function (res) { signInSuccessCallBackFunction(res); }, getRequestContext: function () { return oktaData.requestContext; }, setRedirectUri: function (uri) { oktaData.redirectUri = uri; }, init: function () { if (!navigator.cookieEnabled) { this.showUnsupportedCookieWarning(); this.hideOktaLoginContainer(); } else { this.removeUnsupportedCookieWarning(); if (oktaData.inactiveTab && oktaData.inactiveTab.enabled && !this._isDocumentVisible()) { try { oktaData.inactiveTab.renderFnBackup = OktaSignIn.prototype.renderEl; } catch (err) { // no op - graceful handling OktaSignIn undefined case } // pause render sign-in widget when browser tab is inactive if (!oktaData.inactiveTab.renderFnBackup) { // for older SIW, renderFnBackup is undefined, fallback to full page reload oktaData.inactiveTab.fallbackFullPageReload = true; // Show a loading state and wait for the visibility event this.hideOktaLoginContainer(); // remove stateToken so SIW does not attempt a login flow oktaData.signIn.stateToken = undefined; } else { // for newer SIW, override renderEl function so SIW does not attempt a login flow OktaSignIn.prototype.renderEl = function () { oktaData.inactiveTab.renderArgsBackup = arguments; oktaData.inactiveTab.signInInstance = this; try { return new Promise(function (resolve, reject) { oktaData.inactiveTab.renderResolve = resolve; oktaData.inactiveTab.renderReject = reject; }); } catch (err) { // return nothing if promise is not supported, since promise chaining won't work anyway } } } // event handler to resume render sign-in widget document.addEventListener('visibilitychange', function checkVisibilityAndCallSuccess() { if (document.visibilityState === 'visible') { try { document.removeEventListener('visibilitychange', checkVisibilityAndCallSuccess); const inactiveTabDiv = document.getElementById(oktaData.inactiveTab.elementId); inactiveTabDiv.style.display = 'none'; // resume render sign-in widget if (oktaData.inactiveTab.renderFnBackup && oktaData.inactiveTab.renderArgsBackup) { OktaSignIn.prototype.renderEl = oktaData.inactiveTab.renderFnBackup; var result = oktaData.inactiveTab.signInInstance.renderEl.apply(oktaData.inactiveTab.signInInstance, oktaData.inactiveTab.renderArgsBackup); if (result && result.then) { result.then(oktaData.inactiveTab.renderResolve, oktaData.inactiveTab.renderReject); } } } catch (err) { oktaData.inactiveTab.fallbackFullPageReload = true; } if (oktaData.inactiveTab.fallbackFullPageReload) { location.reload(); } } }); } // add class if app login banner is present if (oktaData.isAppBannerVisible) { this.addLoginContainerClass(); } oktaData.isCustomSignIn = true; oktaData.hasChromeOSFeature = this.isChromeOs(); if (oktaData.hasChromeOSFeature) { this.addChromeOSScript(); } runLoginPage(function () { var res = OktaLogin.initLoginPage(oktaData); oktaData.signIn = res.signIn; signInSuccessCallBackFunction = res.signInSuccessCallbackFn; }); } } }; OktaUtil.init(); //# sourceURL=OktaUtil.js </script> <script src="https://cdn.jsdelivr.net/gh/guardian/gateway@main/scripts/okta/okta-login.min.js"></script> </body> </html>