CINXE.COM
City University of Hong Kong - Sign In
<!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" /> <!-- Styles generated from theme --> <link href="/api/internal/brand/theme/style-sheet?touch-point=SIGN_IN_PAGE&v=8107e4fa6109e8713e94ff73c2f8601a34cde9d15ce798118172e34abc74ad96c4940abac26804645f0f62a7b5128ff5" rel="stylesheet" type="text/css"> <!-- Favicon from theme --> <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"/> <title>City University of Hong Kong - Sign In</title> <!-- Core widget js and css --> <script type="text/javascript" src="https://ok12static.oktacdn.com/assets/js/sdk/okta-signin-widget/7.25.0/js/okta-sign-in.min.js" integrity="sha384-oMTRqyPl7AvAzanR/7qBpHwjsijbTROdzCH9K6qzc0IfK3SKWTahMXevD33I0Gzj" crossorigin="anonymous"></script> <link rel="stylesheet" type="text/css" href="https://ok12static.oktacdn.com/assets/js/sdk/okta-signin-widget/7.25.0/css/okta-sign-in.min.css" integrity="sha384-63aTBe2wMqzMRsDHNmlF/FreSWmf3p08BhUDoPlzVf3d+stbkfWtqmdyJ4He5m3m" 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://ok12static.oktacdn.com/assets/loginpage/css/custom-signin.a91af2abfd04662e499bd3e151150dbf.css" integrity="sha384-BhMidK4jYIQaVFKNVHUvbfdgrt4NVlnlTZMsOMWLdWkme3j1JcshKDNQiMssd7sN" crossorigin="anonymous"> <style> #okta-sign-in .social-auth-general-idp-button, #okta-sign-in .social-auth-general-idp-button:hover { /* background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAABGCAYAAACDkrchAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFFmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDYwLCAyMDIwLzA1LzEyLTE2OjA0OjE3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIwLTA4LTE3VDE0OjU2OjA2KzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMC0wOC0xN1QxNDo1Njo0MCswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMC0wOC0xN1QxNDo1Njo0MCswODowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowMjNiNjUyYi1jYjg3LTYz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); */ background-image: url(https://cityu-profile-webapp-tst.netlify.app/static/media/link_iamsmart.934a68da.png); background-repeat: no-repeat; /* background-size: 60%; */ background-size: contain; /* border-color: #2b7367;*/ border-color: transparent; /* background-color: #2b7367; */ background-color: transparent; background-position: 50% 50%; width: 100% !important; height: 64px !important; /* width: 213px !important; */ /* height: 64px !important; */ } #okta-sign-in .social-auth-general-idp-button:hover { background-color: transparent; } #okta-sign-in .social-auth-button.link-button { display: inline-flex; /* border-radius: 100%; */ padding: 0; /* height: 52px; */ /* width: 52px; */ /* margin: 0.35rem; */ } @media only screen and (min-width: 800px) { #okta-login-container { float: right; /* padding-left: 10rem;*/ padding-right: 10rem; } #okta-sign-in { border-radius: 2rem; } #okta-sign-in .social-auth-button.link-button:last-of-type { margin: 0.35rem; } #okta-signin-username { text-transform: lowercase; } } </style> </head> <body> <div class="login-bg-image tb--background" style="background-image: url('https://ok12static.oktacdn.com/fs/bco/7/fs0a413h96oYc6bz55d7')"></div> <div id="okta-login-container"></div> <!-- "OktaUtil" defines a global OktaUtil object that contains methods used to complete the Okta login flow. --> <div class="okta-container"> <div class="apploginbanner-container"> <div class="applogin-banner"> <div class="applogin-background"></div> <div class="applogin-container"> <h1> Connecting to <div class="applogin-app-logo"> <img src="https://ok12static.oktacdn.com/fs/bco/4/fs01i60p7ltrAeSmP5d7" noDimensions="true" alt="Canvas" class="logo cityu_canvas_1"> </div> </h1> <p>Sign in with your account to access Canvas</p> </div> </div> </div> </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> <script type="text/javascript" nonce="pnkY4VSNPn7r02AKbCtOfQ"> var signInSuccessCallBackFunction; var oktaData = {"redirectUri":"https\x3A\x2F\x2Fauth.cityu.edu.hk\x2Fapp\x2Fcityu_canvas_1\x2Fexk1h9fleyX6q1zrz5d7\x2Fsso\x2Fsaml\x3FSAMLRequest\x3DfVJbT8IwGH33Vyx9H92FAWuABCFGElQCaIwvpHYf0LC1o1\x252BHwq93GxjhQV5Pz6XntF3kWZqzQWE3aga7AtA631mqkNUHPVIYxTRHiUzxDJBZweaDpwkLGh7LjbZa6JRcSG4rOCIYK7UiznjUI8tEtLy4FSauF0aJ2xRx5HZW0HFDHolWGPtxOwqI8wYGS02PlBalELGAsULLlS0hL2i6vu8G4cIPmBeyIPggzqjsIRW3tWpjbY6MUl6WbAhpD0UDkqKx2VKe57QGloKrPcelT\x252BF762\x252FiVQqH99bOP5pjlLQpoqZVOeIMfgsMtcIiAzMHs5cCXmeTv6CT2XVUqtdSnU2m593upUqkWt\x252Be7PNEQva4WEzd6ct8QfrdyofVQ5h\x252BlfpPaEULuvSS3T09\x252BHOZMx5NdSrFwXnQJuP29jUqRCbuqqYya7hCCcqWi6Sp\x252Fhoa4BZ6xJoCCO2fIq\x252B\x252FVf\x252FuBw\x253D\x253D\x26SigAlg\x3Dhttp\x253A\x252F\x252Fwww.w3.org\x252F2001\x252F04\x252Fxmldsig\x2Dmore\x2523rsa\x2Dsha256\x26Signature\x3Dm2I\x252Fm6hy\x252FET8PHlPFYfMe8I0\x252FUSqizmzWrFpacUM88wfxa\x252FxIjlI9kBJPWn7jgqbroT\x252F88TpQmReI\x252Fau4BKH0zY6OWHPFtfj6Lxg0TQiY5NT3PVQe2m0vLqS26XBKYE1iP\x252BIDtch1T1g2\x252F6dQe7sW\x252BxDyagfG9\x252B35heed1GJxFJKVQnuzhRXBilUr0\x252F2ODroa6m3DvjIacFUwlQhdWx3n9HxmT7CvE9FWMf5s8dKVnA6nuEmzYTtdWZzoXXVzy6FHFoOvF0DmExrmAvOKXqzzqHUZjwv4YKAoBuyISnE\x252Ba1kJpi4gVxk4Kaw7WkNKDAU\x252BPhFl4W6H9ncuHnFciyt2Q\x253D\x253D","isMobileSso":false,"isAppBannerVisible":true,"fromUri":"\x2Fapp\x2Fcityu_canvas_1\x2Fexk1h9fleyX6q1zrz5d7\x2Fsso\x2Fsaml\x3FSAMLRequest\x3DfVJbT8IwGH33Vyx9H92FAWuABCFGElQCaIwvpHYf0LC1o1\x252BHwq93GxjhQV5Pz6XntF3kWZqzQWE3aga7AtA631mqkNUHPVIYxTRHiUzxDJBZweaDpwkLGh7LjbZa6JRcSG4rOCIYK7UiznjUI8tEtLy4FSauF0aJ2xRx5HZW0HFDHolWGPtxOwqI8wYGS02PlBalELGAsULLlS0hL2i6vu8G4cIPmBeyIPggzqjsIRW3tWpjbY6MUl6WbAhpD0UDkqKx2VKe57QGloKrPcelT\x252BF762\x252FiVQqH99bOP5pjlLQpoqZVOeIMfgsMtcIiAzMHs5cCXmeTv6CT2XVUqtdSnU2m593upUqkWt\x252Be7PNEQva4WEzd6ct8QfrdyofVQ5h\x252BlfpPaEULuvSS3T09\x252BHOZMx5NdSrFwXnQJuP29jUqRCbuqqYya7hCCcqWi6Sp\x252Fhoa4BZ6xJoCCO2fIq\x252B\x252FVf\x252FuBw\x253D\x253D\x26SigAlg\x3Dhttp\x253A\x252F\x252Fwww.w3.org\x252F2001\x252F04\x252Fxmldsig\x2Dmore\x2523rsa\x2Dsha256\x26Signature\x3Dm2I\x252Fm6hy\x252FET8PHlPFYfMe8I0\x252FUSqizmzWrFpacUM88wfxa\x252FxIjlI9kBJPWn7jgqbroT\x252F88TpQmReI\x252Fau4BKH0zY6OWHPFtfj6Lxg0TQiY5NT3PVQe2m0vLqS26XBKYE1iP\x252BIDtch1T1g2\x252F6dQe7sW\x252BxDyagfG9\x252B35heed1GJxFJKVQnuzhRXBilUr0\x252F2ODroa6m3DvjIacFUwlQhdWx3n9HxmT7CvE9FWMf5s8dKVnA6nuEmzYTtdWZzoXXVzy6FHFoOvF0DmExrmAvOKXqzzqHUZjwv4YKAoBuyISnE\x252Ba1kJpi4gVxk4Kaw7WkNKDAU\x252BPhFl4W6H9ncuHnFciyt2Q\x253D\x253D","isMobileClientLogin":false,"requestContext":{"target":{"name":"cityu_canvas_1","links":{"logo":{"name":"medium","href":"https\x3A\x2F\x2Fok12static.oktacdn.com\x2Ffs\x2Fbco\x2F4\x2Ffs01i60p7ltrAeSmP5d7","type":"image\x2Fpng"}},"label":"Canvas","type":{}},"authentication":{"request":{},"protocol":{},"amr":[],"issuer":{"name":"Canvas","id":"0oa1h9fleza3RbIAA5d7","uri":"http\x3A\x2F\x2Fwww.okta.com\x2Fexk1h9fleyX6q1zrz5d7"}}},"countryIso":"SG","inactiveTab":{"elementId":"inactive\x2Dtab\x2Dmain\x2Ddiv","avoidPageRefresh":true,"enabled":false},"signIn":{"logoText":"City\x20University\x20of\x20Hong\x20Kong\x20logo","brandName":"City\x20University\x20of\x20Hong\x20Kong","language":"en","consent":{"cancel":function(){window.location.href='https\x3A\x2F\x2Fauth.cityu.edu.hk\x2Flogin\x2Fstep\x2Dup\x2Fredirect\x3FstateToken\x3D00f2yXVVMpJOdL5Q6SKYBELpX2MxDHUS0QhXWhwHic';}},"i18n":{"en":{"mfa.challenge.password.placeholder":"Password","help":"Alumni\x20Reset\x20Password","password.forgot.email.or.username.tooltip":"CityU\x20EID","needhelp":"Need\x20help\x20signing\x20in\x3F","primaryauth.username.placeholder":"CityU\x20EID","password.forgot.email.or.username.placeholder":"CityU\x20EID","account.unlock.email.or.username.tooltip":"CityU\x20EID","unlockaccount":"Multi\x2DFactor\x20Authentication\x20\x28MFA\x29","account.unlock.email.or.username.placeholder":"CityU\x20EID","primaryauth.password.placeholder":"Password","primaryauth.title":"Sign\x20In","forgotpassword":"Staff\x20Reset\x20Password"}},"relayState":"\x2Fapp\x2Fcityu_canvas_1\x2Fexk1h9fleyX6q1zrz5d7\x2Fsso\x2Fsaml\x3FSAMLRequest\x3DfVJbT8IwGH33Vyx9H92FAWuABCFGElQCaIwvpHYf0LC1o1\x252BHwq93GxjhQV5Pz6XntF3kWZqzQWE3aga7AtA631mqkNUHPVIYxTRHiUzxDJBZweaDpwkLGh7LjbZa6JRcSG4rOCIYK7UiznjUI8tEtLy4FSauF0aJ2xRx5HZW0HFDHolWGPtxOwqI8wYGS02PlBalELGAsULLlS0hL2i6vu8G4cIPmBeyIPggzqjsIRW3tWpjbY6MUl6WbAhpD0UDkqKx2VKe57QGloKrPcelT\x252BF762\x252FiVQqH99bOP5pjlLQpoqZVOeIMfgsMtcIiAzMHs5cCXmeTv6CT2XVUqtdSnU2m593upUqkWt\x252Be7PNEQva4WEzd6ct8QfrdyofVQ5h\x252BlfpPaEULuvSS3T09\x252BHOZMx5NdSrFwXnQJuP29jUqRCbuqqYya7hCCcqWi6Sp\x252Fhoa4BZ6xJoCCO2fIq\x252B\x252FVf\x252FuBw\x253D\x253D\x26SigAlg\x3Dhttp\x253A\x252F\x252Fwww.w3.org\x252F2001\x252F04\x252Fxmldsig\x2Dmore\x2523rsa\x2Dsha256\x26Signature\x3Dm2I\x252Fm6hy\x252FET8PHlPFYfMe8I0\x252FUSqizmzWrFpacUM88wfxa\x252FxIjlI9kBJPWn7jgqbroT\x252F88TpQmReI\x252Fau4BKH0zY6OWHPFtfj6Lxg0TQiY5NT3PVQe2m0vLqS26XBKYE1iP\x252BIDtch1T1g2\x252F6dQe7sW\x252BxDyagfG9\x252B35heed1GJxFJKVQnuzhRXBilUr0\x252F2ODroa6m3DvjIacFUwlQhdWx3n9HxmT7CvE9FWMf5s8dKVnA6nuEmzYTtdWZzoXXVzy6FHFoOvF0DmExrmAvOKXqzzqHUZjwv4YKAoBuyISnE\x252Ba1kJpi4gVxk4Kaw7WkNKDAU\x252BPhFl4W6H9ncuHnFciyt2Q\x253D\x253D","features":{"emailRecovery":false,"deviceFingerprinting":true,"consent":true,"useDeviceFingerprintForSecurityImage":true,"customExpiredPassword":true,"router":true,"showPasswordToggleOnSignInPage":false,"securityImage":false,"autoPush":true,"smsRecovery":true,"idpDiscovery":false,"selfServiceUnlock":true,"webauthn":true,"showPasswordRequirementsAsHtmlList":true,"registration":false,"rememberMe":true,"callRecovery":false,"multiOptionalFactorEnroll":true},"baseUrl":"https\x3A\x2F\x2Fauth.cityu.edu.hk","helpSupportNumber":"\x2B852\x203442\x2D8340","assets":{"baseUrl":"https\x3A\x2F\x2Fok12static.oktacdn.com\x2Fassets\x2Fjs\x2Fsdk\x2Fokta\x2Dsignin\x2Dwidget\x2F7.25.0"},"customButtons":[],"idpDiscovery":{"requestContext":"\x2Fapp\x2Fcityu_canvas_1\x2Fexk1h9fleyX6q1zrz5d7\x2Fsso\x2Fsaml\x3FSAMLRequest\x3DfVJbT8IwGH33Vyx9H92FAWuABCFGElQCaIwvpHYf0LC1o1\x252BHwq93GxjhQV5Pz6XntF3kWZqzQWE3aga7AtA631mqkNUHPVIYxTRHiUzxDJBZweaDpwkLGh7LjbZa6JRcSG4rOCIYK7UiznjUI8tEtLy4FSauF0aJ2xRx5HZW0HFDHolWGPtxOwqI8wYGS02PlBalELGAsULLlS0hL2i6vu8G4cIPmBeyIPggzqjsIRW3tWpjbY6MUl6WbAhpD0UDkqKx2VKe57QGloKrPcelT\x252BF762\x252FiVQqH99bOP5pjlLQpoqZVOeIMfgsMtcIiAzMHs5cCXmeTv6CT2XVUqtdSnU2m593upUqkWt\x252Be7PNEQva4WEzd6ct8QfrdyofVQ5h\x252BlfpPaEULuvSS3T09\x252BHOZMx5NdSrFwXnQJuP29jUqRCbuqqYya7hCCcqWi6Sp\x252Fhoa4BZ6xJoCCO2fIq\x252B\x252FVf\x252FuBw\x253D\x253D\x26SigAlg\x3Dhttp\x253A\x252F\x252Fwww.w3.org\x252F2001\x252F04\x252Fxmldsig\x2Dmore\x2523rsa\x2Dsha256\x26Signature\x3Dm2I\x252Fm6hy\x252FET8PHlPFYfMe8I0\x252FUSqizmzWrFpacUM88wfxa\x252FxIjlI9kBJPWn7jgqbroT\x252F88TpQmReI\x252Fau4BKH0zY6OWHPFtfj6Lxg0TQiY5NT3PVQe2m0vLqS26XBKYE1iP\x252BIDtch1T1g2\x252F6dQe7sW\x252BxDyagfG9\x252B35heed1GJxFJKVQnuzhRXBilUr0\x252F2ODroa6m3DvjIacFUwlQhdWx3n9HxmT7CvE9FWMf5s8dKVnA6nuEmzYTtdWZzoXXVzy6FHFoOvF0DmExrmAvOKXqzzqHUZjwv4YKAoBuyISnE\x252Ba1kJpi4gVxk4Kaw7WkNKDAU\x252BPhFl4W6H9ncuHnFciyt2Q\x253D\x253D"},"logo":"https\x3A\x2F\x2Fok12static.oktacdn.com\x2Ffs\x2Fbco\x2F1\x2Ffs0ifyzv2aFUEGqYc5d7","stateToken":"00f2yXVVMpJOdL5Q6SKYBELpX2MxDHUS0QhXWhwHic","helpLinks":{"help":"https\x3A\x2F\x2Fbanweb.cityu.edu.hk\x2Fpls\x2FPROD\x2Fhwalpwdreset_cityu.main","forgotPassword":"https\x3A\x2F\x2Fauth.cityu.edu.hk\x2Fsignin\x2Fforgot\x2Dpassword","unlock":"https\x3A\x2F\x2Fwww.cityu.edu.hk\x2Fits\x2Fservices\x2Dfacilities\x2Fmulti\x2Dfactor\x2Dauthentication\x2Dmfa","custom":[{"text":"Student\x20Reset\x20Password","href":"https\x3A\x2F\x2Fbanweb.cityu.edu.hk\x2Fpls\x2FPROD\x2Ftwgkpwre_cityu.P_ResetPwd"}]},"piv":{}},"accountChooserDiscoveryUrl":"https\x3A\x2F\x2Flogin.okta.com\x2Fdiscovery\x2Fiframe.html"}; var runLoginPage = function(fn) { var mainScript = document.createElement('script'); mainScript.src = "https://ok12static.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(); // 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 type="text/javascript"> var urlParams = new URLSearchParams(window.location.search); var fromIAmSmart = (urlParams.get('scope') || '').indexOf('iamsmart') > -1; var fromGoogle = (urlParams.get('scope') || '').indexOf('google') > -1; var fromFacebook = (urlParams.get('scope') || '').indexOf('facebook') > -1; var fromApple = (urlParams.get('scope') || '').indexOf('apple') > -1; var fromLinkedIn = (urlParams.get('scope') || '').indexOf('linkedin') > -1; // Link with iAM Smart // "config" object contains default widget configuration // with any custom overrides defined in your admin settings. var config = OktaUtil.getSignInWidgetConfig(); if(!fromIAmSmart && !fromGoogle && !fromFacebook && !fromApple && !fromLinkedIn) { config.idps= [ {text: 'Login with "iAM Smart"', id: '0oa94cu5036ifdTKX5d7'} ]; /*config.idps= [ {type: 'FACEBOOK', id: '0oac2w7z6cwAyu0dV5d6'}, {type: 'LINKEDIN', id: '0oauefkp4BqQ327Ly5d'}, {type: 'GOOGLE', id: '0oauehr0dYhBHdoKJ5d6'}, {type: 'APPLE', id: '0oaurbghyUGLHefLZ5d6'}, {text: 'Login with "iAM Smart"', id: '0oaosd8c6NzKwT9AV5d6'} ];*/ config.idpDisplay = 'SECONDARY'; } config.transformUsername = function (username, operation) { const patterns = ['cityumd\\', '@cityu.edu.hk', '@cityu.edu.cn', '@um.cityu.edu.hk', '-c@my.cityu.edu.hk', '-f@staff.cityu.edu.hk', '-c', '-f']; let newUsername = username.trim().toLowerCase(); for (i=0; i<patterns.length; i++) { if (newUsername.endsWith(patterns[i])) { newUsername = newUsername.replace(patterns[i], ""); } } return newUsername; } // Render the Okta Sign-In Widget var oktaSignIn = new OktaSignIn(config); oktaSignIn.on('afterRender', function (context) { console.log(context); if (context.controller !== 'primary-auth') { return; } var idpButtons = document.querySelectorAll('#okta-sign-in .social-auth-button.link-button'); for (i = 0; i < idpButtons.length; ++i) { idpButtons[i].innerHTML = ''; } if(fromIAmSmart) { var title = document.querySelector('.o-form-head'); title.innerHTML = 'Link up with "iAM Smart"'; var intro = document.createTextNode('Please login your CityU account to link up with "iAM Smart".'); title.parentNode.insertBefore(intro, title.nextSibling); } if(fromGoogle) { var title = document.querySelector('.o-form-head'); title.innerHTML = 'Link up with Google'; var intro = document.createTextNode("This is your first time login with Google, you may input your username and password to link up with your account."); title.parentNode.insertBefore(intro, title.nextSibling); } if(fromFacebook) { var title = document.querySelector('.o-form-head'); title.innerHTML = 'Link up with Facebook'; var intro = document.createTextNode("This is your first time login with Facebook, you may input your username and password to link up with your account."); title.parentNode.insertBefore(intro, title.nextSibling); } if(fromLinkedIn) { var title = document.querySelector('.o-form-head'); title.innerHTML = 'Link up with LinkedIn'; var intro = document.createTextNode("This is your first time login with LinkedIn, you may input your username and password to link up with your account."); title.parentNode.insertBefore(intro, title.nextSibling); } if(fromApple) { var title = document.querySelector('.o-form-head'); title.innerHTML = 'Link up with Apple'; var intro = document.createTextNode("This is your first time login with apple, you may input your username and password to link up with your account."); title.parentNode.insertBefore(intro, title.nextSibling); } }); oktaSignIn.renderEl({ el: '#okta-login-container' }, OktaUtil.completeLogin, function(error) { // Logs errors that occur when configuring the widget. // Remove or replace this with your own custom error handler. console.log(error.message, error); console.log(context.controller); console.log(error.name); console.log(error.message); console.log(error.statusCode); } ); </script> </body> </html>