CINXE.COM
Harvard Business School Login
<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /><title>Harvard Business School Login</title> <meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/> <link rel="stylesheet" type="text/css" href="/cas/webjars/normalize.css/8.0.1/normalize.css" /><link rel="stylesheet" type="text/css" href="/cas/webjars/bootstrap/5.2.0/css/bootstrap-grid.min.css" /><link rel="stylesheet" type="text/css" href="/cas/webjars/material-components-web/14.0.0/dist/material-components-web.min.css" /><link rel="stylesheet" type="text/css" href="/cas/webjars/mdi__font/6.5.95/css/materialdesignicons.min.css" /><link rel="stylesheet" type="text/css" href="/cas/webjars/datatables/1.12.1/css/jquery.dataTables.min.css" /><link rel="stylesheet" type="text/css" href="/cas/css/cas.css" /><link rel="shortcut icon" href="/cas/favicon.ico" /></head> <body class="login mdc-typography"> <script type="text/javascript" src="/cas/webjars/jquery/3.6.1/jquery.min.js"></script> <script type="text/javascript" src="/cas/webjars/datatables/1.12.1/js/jquery.dataTables.min.js"></script> <script type="text/javascript" src="/cas/webjars/es5-shim/4.5.9/es5-shim.min.js"></script> <script type="text/javascript" src="/cas/webjars/css-vars-ponyfill/2.4.7/dist/css-vars-ponyfill.min.js"></script> <script type="text/javascript" src="/cas/webjars/material-components-web/14.0.0/dist/material-components-web.min.js"></script> <script type="text/javascript" src="/cas/js/cas.js"></script> <script type="text/javascript" src="/cas/js/material.js"></script> <script> if (typeof resourceLoadedSuccessfully === "function") { resourceLoadedSuccessfully(); } $(() => { typeof cssVars === "function" && cssVars({onlyLegacy: true}); }) var trackGeoLocation = false; </script> <!-- <div th:replace="fragments/header :: header"> <a href="fragments/header.html">Header</a> fragment will go here </div> --><div class="mdc-drawer-scrim"></div> <div class="mdc-drawer-app-content mdc-top-app-bar--fixed-adjust d-flex justify-content-center pt-0 align-items-center"> <main role="main" id="main-content" class="container-lg py-4 d-flex justify-content-center align-items-center flex-column text-center"> <!-- <img src="https://secure.hbs.edu/static/common/images/hbs-logo.svg" alt="HBS Logo" class="mx-auto my-4" style="max-width: 180px; display: block;"> --><div id="content" class="d-flex"> <div class="mdc-card mdc-card-content card flex-grow-1"> <section id="loginForm" class="login-section login-form card-body" style="flex: auto"> <div class="d-flex flex-column justify-content-between m-auto"> <div> <!-- <div class="service-ui" th:replace="fragments/serviceui :: serviceUI"> <a href="fragments/serviceui.html">service ui fragment</a> </div> --></div> <div class="form-wrapper"> <form method="post" name="loginForm" id="fm1" action="login"> <div id="login-form-controls"> <img src="https://secure.hbs.edu/static/common/images/hbs-logo.svg" alt="HBS Logo" class="mx-auto mb-4 mt-3" style="max-width: 180px; display: block;"><h4 class="text-center"> <!-- <i class="mdi mdi-security fas fa-shield-alt"></i> --><span>Please login to continue</span> </h4> <section class="cas-field form-group my-3" id="usernameSection"> <label for="username" class="mdc-text-field mdc-text-field--outlined control-label w-100"> <span class="mdc-notched-outline"> <span class="mdc-notched-outline__leading"></span> <span class="mdc-notched-outline__notch"> <span class="mdc-floating-label"><span class="accesskey">U</span>sername:</span> </span> <span class="mdc-notched-outline__trailing"></span> </span> <input class="mdc-text-field__input form-control" id="username" size="25" type="email" accesskey="u" autocapitalize="none" placeholder="e.g., jharvard@hbs.edu" spellcheck="false" autocomplete="username" required name="username" value=""/></label> <div class="mdc-text-field-helper-line px-0 w-100"> <div class="mdc-text-field-helper-text mdc-text-field-helper-text--validation-msg" aria-hidden="true"> <span id="usernameValidationMessage">Username is a required field.</span> </div> </div> <script type="text/javascript"> /*<![CDATA[*/ var username = ""; var disabled = false; if (username != null && username !== '') { $('#username').val(username); if (disabled) { $('#usernameSection').hide(); } } /*]]>*/ </script> </section> <section class="cas-field form-group mt-3 mdc-input-group form-group" id="passwordSection"> <div class="mdc-input-group-field mdc-input-group-field-append"> <div class="caps-check"> <label for="password" class="mdc-text-field caps-check mdc-text-field--outlined control-label mdc-text-field--with-trailing-icon control-label w-100"> <span class="mdc-notched-outline"> <span class="mdc-notched-outline__leading"></span> <span class="mdc-notched-outline__notch"> <span class="mdc-floating-label"><span class="accesskey">P</span>assword:</span> </span> <span class="mdc-notched-outline__trailing"></span> </span> <input class="mdc-text-field__input form-control pwd" type="password" id="password" size="25" required accesskey="p" autocomplete="off" name="password" value=""/><button class="reveal-password align-self-end mdc-button mdc-button--unelevated mdc-input-group-append mdc-icon-button btn btn-primary" style="background: #A41034" tabindex="-1" type="button"> <i class="mdi mdi-eye reveal-password-icon fas fa-eye"></i> <span class="visually-hidden">Toggle Password</span> </button> </label> <div class="mdc-text-field-helper-line px-0 w-100"> <div class="mdc-text-field-helper-text mdc-text-field-helper-text--validation-msg" aria-hidden="true"> <span id="passwordValidationMessage">Password is a required field.</span> </div> </div> <div class="mdc-text-field-helper-line caps-warn"> <div class="mdc-text-field-helper-text mdc-text-field-helper-text--persistent mdc-text-field-helper-text--validation-msg text-danger"> <span>CAPSLOCK key is turned on!</span> </div> </div> </div> </div> </section> <section class="cas-field form-group"> </section> <section class="cas-field form-check text-center"> <div class="mdc-form-field"> <div class="mdc-checkbox" style="--mdc-theme-secondary:#A41034"> <input type="checkbox" class="mdc-checkbox__native-control form-check-input" name="rememberMe" id="rememberMe"/><div class="mdc-checkbox__background"> <svg class="mdc-checkbox__checkmark" viewBox="0 0 24 24"> <path class="mdc-checkbox__checkmark-path" fill="none" d="M1.73,12.91 8.1,19.28 22.79,4.59"/></svg> <div class="mdc-checkbox__mixedmark"></div> </div> <div class="mdc-checkbox__ripple"></div> </div> <label class="form-check-label" for="rememberMe">Keep me signed in.</label> </div> <p/></section> <section class="cas-field"> <input type="hidden" name="execution" value="02ce7acd-09f1-461e-944a-fc082e2096df_ZXlKaGJHY2lPaUpJVXpVeE1pSXNJblI1Y0NJNklrcFhWQ0lzSW10cFpDSTZJalZqWm1Oa01EZGhMVEZoWTJRdE5HVTBOUzFoTmpoakxUTXpNell6TkRkaFpqTm1PU0o5Li1jTEVvSVBUSml3amItSHpyb1pFaW5LYkJQVHhodG9LeF9WNWExdmpZTlZ4NlkyQkpoV19SaXZDaGFxQTlvWmJCak9pRzdOZnF6Q0h1Q01mRUxiWWdsM1RBZF9iOHkzQVZIS3ZOSHY4VUxUVFppZFNWdDV5dXJvT1pQZGtyWXR6TDRCOEZRV01jQ3R1amNpaW8xbTVVdDduZ3QxSEx4M1RnQmJyTEpkSEVtalZkb1pya3dTdkgwRnRqdmswbmFrRjZKeS04UmtQNDZPa3dpZi1QejY3WXRMZ1Uwcm11Z0VKY3V4b21fOGUwNGttLXRCWVVsbTB6a1JRMUhoZXR3ZDFmWWMxVWdidko1T21xZ3NjNW5Cd0E1bWwtelhkbTc4VjhvUU41cGdXRTN4Uk1RUVlaWmNjdGlqVXIxRnMzN1BUV3hSY0x1bWVTMmhtOW9UdWlYTHV1MnA3eUdiSTA3RWZVcnItV3piVzZ4N29ncV92VWdkQ3dlTTQ0UkJZZ2VqZVNEcFRGZ1B1VEw3dUFSY0lWcW9VN3UzRkM2Wm5mMGlUWk4xWm9hZkVYXzRwakpjOXdYb3lzdUFUbWV0LTFtM19TZnJZYWo2aE9lUkJjZ3U1ZmNSaklGWVVXOVdreXZmRElXUGtYSXRDYXZ2eEJwaDRhTm00TDU2RVNfR1MyMlBDVGUzQkJ3SExSSjAxTUIyMG9XUTV1cXR0VDlpaXBwU294QzRTZ3lIWGZQclMtTDJBeEY3V3RUQm5WTEprRkdMMFlhMkU1TnJIejJfcHhFTnlLS2ZBazVqYnVsMUxJRkJYZGhfb1ZGejZ4ZkFnMEtaa3ZfU0RVY3pvTnZxeE1uYW44dEJWVThiREJZa281bjJiOS1wOXQ2WkRHVDhCNngwM1hCN3NVQXJXSm1oV25ReDNLZ2E0MGF5bGlCZmNYX0ZqdW1KczBScmVYZ0dBSzloM1MwcXBtMGNpQjZ4c1gtLVJNUXhYZWh5ZFFyTFJLb0MyNlpNalVvb2Q5TTFBOWdkNmhRNVpWMUhfSGpjekN0MU1KRzhuMG1wRmptZWlzWkpsS2xNT2JRelFaaHp0MWt6V0F3WUliUmlVaWR0MW0wYWg2SzdZamd0blZTZGJoODREdDRPOWJFSEZPRm9nNVFNYms4MjNDdWU0NDhkYjh2djZhX1EtRjg1bmhpblRoa05neVdGTWF1Q2g3VXozZ3pNTEdyT19Cai1tZS1xelFRQzFSQVRGZy1iUGRScDNJdlhSQzc3MWtqckltZjM3SUFlZ1BxdmpYVFlPS0Jfa1VQNEhQTVdXUzZlOUNWRFF3YjIydlYyZlc4ZDBxMlFJcUpnRDZMLUpPbEZ3STVaeWdwbGZOOGFyelRVOFU4YkxWeEp1dS1WSGxvTlM0cGdhRHdtdXhhZlVaSHl5Y3JINk9yS2NhdUg3NTVyaWFHN2ZlcjNMcjJLSU03TU44Q091dXVhN2pHb3BjWWpwejQ4TmI1bzBDRFRvaUl6Y3RGYjhUUkw2eEttU3NKX25fMGJ2QlVTOW1GU09VSlE0T2ljWmxON2x1TVlyY2ZvY191YUtvaUkzR1A1dTJGbUU3VnY5dEs0MmNUX2NWYkFZaG1HWW5ueHphc1hmdDU1WFI0UmxBQ1loVk1DQUJCWlhiVDIxQWRFczBrbkZoclVJc1V1b0NJZHVEUmRJYk9IaWkyS1EwNFdldkw2QXhFVnlMWGRocnZrbm42ZlllOTJvS1YyYktxZjJKV1hBOUc1aG1jVm5jVDJkWVowSGVZR3ZucXItWjF2ZlV4S3Bzakd4X2tLb3NyNTFQQnFQQjRBdmNYMWFNa0hOM2gtNDFmdDNrSlU3X3Y1bWZ0TE1qMUZMSTdSXzFrVHBoZFJ2XzJEREh6UThGdjFUZjRCRld2RTNtNkRmYU1Tb3NnWGdHejZxWUNEczlMRTRrcFhDYU9PeFU1Q3c0RlBIbjRwQnVySjA3NUV2al9FVm93dWlzZDloTlJWRzU2UDZvWlJTZGxLRUNQZ2dvNkJBRWxWZktMcGN3TVZoSVlQTVRVNFE3QTlZM18tYzRnaEt5YzZMTlFHeWVTNzB3WHhVZTdwajYxeFExd283WUNlUnVidFFYTm9uWnNUcGVDQXVxaWladWZoZVVoVDRIVG52UWZVY2JLWjdCRWIwc1QxOFYwajg4d2doaEFPSm81cV96SXBEcVBKbl9uZl9mVFhKSG5hNEpMQTF6em1OcEVsSEtWUndMUFRJbW1KSUJQV1BPaFlpZjRHVlA3ZzhsYjdreTJSVmIxYXdaT1hmcEFKQ2ptRVdZUXVBLVNMeDNrcmxkdTJwMUdKSDZ3MURuTXBFcy14anVyWXpYNkNQX1RTMVRZcDlkbFE1Y3VKSkFDa1hOR0RlTzhHSVZFMlAzWUFoaVRJNThTYlRjUEVNX0lGRFltaUdJRUptMkRGOHRmc2hkV0doY3hZTExsNjV5TzRPMHNhNXAwYlRieU9vSF9VUUFmQXotMGdmcFh5eTNOMFNHODVUUlBONlZOdUJvQ2dOMXYyQ2l2ZnZoSWdEcEd2WlcxaVZPMmpoS2dXNk1rN2FnVlZVc25WVkx0YlJMRktWdHMxbWdQdmQteEtWYWY2VkVmZXZaOGh3RVhReGxsdFBodFZKZzI4dFhJOFpoR3lDaDlHWDVILUkxUzdkbzQxTDBOVGFlTFh5NFpPZERIY0s5d1hIQnNZelFnVV9nYlVmU3J6S3c1ZWU5N09Kai1sbi1YLXNQUUtOamRQdmJPNExSNmtvalktcnRuWkpFVFBydFYzZm1iN0pOLTR3NGhWejRSQ3htM183OFdIdjJSSmdPbTY0eXZyWW9BRkNOZWt3Tlp5Y0tPYVpiOHh0cFpYLWhlMEZEX1pIZ0FKT0poSGppeGJWYm9nU28zSk9nVnJSOU9qeHlCRXNCMGw4YlZ2RDF4Zm9CR1puRzRjVXJNYVdwa0FCMEN0WjZtX05FNHFFTUtyNmx6aWlCQXBFdFNBcmdfWHl2NzFTbVFjM1cxRXZSZnZyMVBvak5BS3ktWHJCV05fdHhMcXZ2cGlWS2N4SU1qbEtyZmMyejZ2Tlp4Q1EyTFVHXzZCYndxVFZHaDRweVNLOTQ2RTR2R0xNbEdhNEVqWk5GSmt1SDZwYUk1TmFPMVllSGZLRVowM0h3RU1KVmlLTXB5Z0hIWG9RLVhIUDZydURPR2JrUU15cEZXOG5CLU9PSVBGemxxTmpoLVVmNzdQZlZHeTNFMmlLWThnUndrQWxXM09lZjgyandpU3gtNzU5VHJ4NzhkbGZKZUNRdTR1TUx1WFU4TngxNVpxZmUzLXVVcjhGWGFoMGJSRkhOVjNTZEs5bVJMWUc2ckVKUkFpbFhGUGJsWHFXbGZKRTU2U1B4bDB4c0FKQWZvSVFOdVJUVGtIdmVDNUFCM1kwMzdMaE9TWm1VZDMxSFZqTjRsTnM2VkZEV0tRTDdyblBwSkVRQXJ5R05icVVJUlVydmltdmtVVk1hcTFnV3ExeGlkV2VSdnFsYWd3cF81NzVJRFQ2QjZtV0xZWTl1SUh1UW9jbnNTNlBQczB6OTJvLWcyQi1yejZFLW81aloyRHdKVWw1OUJ2RS1ud2RWd0hreVJOdGdqRkJHXy1obk40dEgzX1NmbkNkOUNtZ3FaNWUyODF6MUNnSWxNNFQ4cjJ2WjAyY0l0LUhPaW9PZkw2NGpDQWRpYUJGRk1YcTNud0RrU1pieUUwNEVyY1dLVkoyc01ZT29MdFdWaXhTUWlOMnJic3JJRTk3WktiVjhtQ2xROVYyQS0wWEFPVnljeXg1Q3ZucmRBc3paSHNpYjZOUUMzZnoyOXVuenBFT1lNNDVQZjg5bTMtLUNhNnlkX2RlYXlDU1VsTUdseXVlZ2ZiZXl3ZmhZQnNRTm9HcUE0aHdjRU9UUkRlXzh1V1lFRDRTQUZoRVNjSGhmX0ZZZDltc2ZEaUFkQ3hqTU9VZkYyeDR4YUsyZzB4U3dhLVpnSzVOV2IybWF0SWtsbXZObGNweTNHZkpKMXVDd0Y5d1c3b0gtVVdZc2VEYnZuZ2FnbVV6THVtNW53ZkUzeFpGb3JiOTdycGJNWlFZNW9MUVZ3aUl1S1NzQXEzaFZZdlotQ2hEaWFsbFptQ0dMN2VCeUxHZDNPN1R1TWZSVVlwWjlDaENPTE1DNFoxN3dpejlMZ0c2c2ZHYmhuNkd2MVg3M2hLaE1SUHRweDNubEJMbkQ2c3U2VmRoU0hOV21GcXk1RUhHUkpLTVhVd0xPd19TMXVyU0dWMjdXMnIyWEJ5dGx6Tk9TV3NHc0lfLVVZN3c0TGg4MUZRX0dVbVVtd3NSVU9tZE5TT3d2M3l5ODZvVXA0cVFZUXNSQ29rVVBvbU96enlzWTY4dGxvbXJ2d3lfYS1BOEZVUVR6X0NFdW5ORmRFdFRYdGhzSmFmcEdDZ0Nib09SckF0UE1LMkQ4ZzdxTmxkYXZXU3VNNUlrelI5UnFaYnBtWGZNeU5Jc3FpcGZaSDIyTzRTUlNxRDhfd1h0WEREQVM3dm1HRVdPbnpFdDQ2QzFYeDg3c1BraWFOWnV3enhsWDVkS0xIQVFCalBoRk5FUmlZVUtMaU5pM0tvTWJ5Z1loVDVfbHJwcFo0THNwdUctQkJkcmtCVGV0czc5N1R3Z0NFMGU0a0JCdk8zZjVONU9aaUhqR1dXS0Q5cnl3b00tdmVDRGdVa0NKa3AxWG9NbldDbi1YeWZXdkM1eENpWGMtTk02Zl9kMlBqaEY1ZjhhYmxUZUJ1UG10VWdra21NRDBvVWVoNWFsTU4yWTcxdnpYUXVBUkF5OXBGUG8yVGU4SnpnZmdWMXlteC1pZnhtQ3VEUHpMN29tVVNMZ3FMVnFRU3pFZ2dRMG9aZ2pmc25CYURpMXlyY280VUUzZVJzTm41SkY0dkZkaVJ4RFdZQk1ZaTRDbEFxS0J4bWNZZTdTVzJzVUw4OWlLSDFZQkNuTUNqOFZKV0EwUmZMb3p3NktuTmpYOVJSYWtmd2czVHVVai1meVNsalFwRTItMFNnNUhhckFfMkdlX3BuMkJLYkViZ1A2SGJQVlBBZzhudWRhTGRrVlJILWNRVVdYdFdoUTZ4b1h5cFgzZC1kZVZWMGNPM3dKTXhyLUIzOGhBX1U5Q1ZOOUlYd1p5Nm5HOEZwUVhBemNVVi1lam5TanBRSmpERkoyV2hMaFgtMmFFOXBhU1J6cnh3NF84VDd4d0lRb3J2bE1Ka0JlRlJoYlVBWVltWVZTSU9KS2lRMXktQ2FpaXk5X2dvZ3JhdS1tcE5hMkowU3FKRmtIelhoX2FzV2wtZzJKQzlGdHNqOUNwdlB6MHNWVUw5LXp0eGRYVlZlRXg3em5OSHh6Q0FfWnJTNTdOTjVidlNvQUQ0UlVZZzYxSlBoaHNqVndhaVlBaHVKN3lhYjdMcEZDTHZCUVMxX2pXcEc2c1VuV3phOEp4N010a1JLTGFhZl9DRERjTnhFRG9fR3Zjb1pxZzlZNVVZSDNqaWEyTkRLV1RScWZhQk5VTW1kSTl4X2J0cFhvUnppWDcxRjNKd3g0aVhMcFc2aGhWWE0uekVvSFQzbmJVYnIyQWs1cDExczA2S3FkSnpVcUt5MWhacVF3Yms2V3NQOVQ5UHNRTkJRQVpMYlN1amZfUHRmeGtCdDZqWFRPaWNVS2U0VGVtX1IyT3c="/><input type="hidden" name="_eventId" value="submit"/><input type="hidden" name="geolocation"/></section> <input class="mdc-button btn btn-primary btn-primary w-100" style="background:#A41034; color: white" name="submitBtn" accesskey="l" type="submit" value="Sign In" /></div> </form> <!-- <hr th:if="${loginFormViewable and loginFormEnabled}" class="my-4"/> --><span> <div id="pmlinks" class="my-2 text-center"> <div> <br /><!-- <span class="mdi mdi-account-question"></span> --><span><a href="https://secure.hbs.edu/accountSelfService/pwd/forgotPassword/forgotPassword.html" style="text-decoration: none; color: black">Forgot your password?</a></span> </div> </div> </span> <script type="text/javascript"> /*<![CDATA[*/ var i = "One moment please..." var j = "Sign In" /*]]>*/ $(window).on('pageshow', function () { $(':submit').prop('disabled', false); $(':submit').attr('value', j); }); $(document).ready(function () { $("#fm1").submit(function () { $(":submit").attr("disabled", true); // $(":submit").attr("value", i); return true; }); // Fix for the autofill label overlap issue in Chrome https://bugs.chromium.org/p/chromium/issues/detail?id=748968 setTimeout(()=>{$('#username').focus().trigger('click');},1000); }); </script> </div> <!-- <span th:if="${loginFormViewable and loginFormEnabled}"> <div th:replace="fragments/loginsidebar :: loginsidebar"/> </span> --></div> </section> <span> <section id="loginProviders" class="login-section login-providers card-body"> <div> <script type="text/javascript"> let providers = []; </script> <div> <h3 class="text-center mt-md-0 mt-4"> <i class="fas fa-user-shield"></i> <p class="login-or-separator mt-4 mb-2"> <span>Or login with:</span> </p> <div class="d-flex justify-content-center" style="visibility:visible"> <ul class="list-unstyled d-flex flex-column m-0 flex-fill"> <li class="p-1 login-provider-item"> <a class="login-harvardkey mdc-button-cas" id="harvard-key-prod" href="clientredirect?client_name=harvard-key-prod&service=https%3A%2F%2Fwww.alumni.hbs.edu%2Fstories%2FPages%2Fstory-bulletin.aspx%3Fnum%3D8492" title="harvard-key-prod cas" autoRedirectType="none"> <!-- <span th:case="cas" th:class="${#strings.defaultString(entry.cssClass,'mdi mdi-login')}"></span> <span th:case="*" class="mdi mdi-account-key"></span> --><!-- HarvardKey (Prod) --><span class="harvard-key-tooltip" hover-tooltip="Use this button to log in with HarvardKey and have access to Harvard Business School and Harvard University services with one username and password. This is currently only available to existing HarvardKey users with expansion to new users coming soon." tooltip-position="top">?</span> <img src="https://key.harvard.edu/images/HarvardKeyLogo.png" alt="Harvard Key" class="mx-auto my-3" style="max-width: 180px; display: block;"></a> <script> /*<![CDATA[*/ providers.push({ name: "harvard-key-prod", type: "cas", url: "clientredirect?client_name=harvard-key-prod\u0026service=https%3A%2F%2Fwww.alumni.hbs.edu%2Fstories%2FPages%2Fstory-bulletin.aspx%3Fnum%3D8492" }); function jqueryReady() { $("#fm1 #username").on("focusout", () => { let user = $("#fm1 #username").val(); /* if (user.endsWith("@example.org")) { let provider = providers.find(element => element.name === "ClientName"); $("#passwordSection").hide(); location.href = provider.url; } */ }); } /*]]>*/ </script> </li> </ul> </div> </div> <script type="text/javascript"> /*<![CDATA[*/ let primaryUrl = null; let primaryName = null; const redirectTo = $("button[autoRedirectType=client]").attr("id"); if (primaryUrl != null) { console.log(`Redirecting to primary identity provider ${primaryName} via URL ${primaryUrl}`) let form = document.getElementById(`form${primaryName}`); form.submit(); } else if (redirectTo !== null && redirectTo !== undefined) { console.log(`Redirecting to identity provider URL ${redirectTo}`) let form = document.getElementById(`form${redirectTo}`); form.submit(); } else { console.log("No identity provider is configured for auto redirection."); } /*]]>*/ </script> </div> </section> </span> </div> </div> <footer class="py-4 d-flex justify-content-center align-items-center flex-column"> <!-- <span id="copyright" th:utext="#{copyright}" class="me-2 d-inline-block">Copyright Date Apereo, Inc</span> <span class="px-3 d-inline-block">Powered by <a href="https://github.com/apereo/cas">Apereo CAS</a></span> <code class="version" th:text="${T(org.apereo.cas.util.CasVersion).getVersion() + ' ' + T(org.apereo.cas.util.CasVersion).getDateTime()}"></code> --><p style="font-size: 0.8rem; text-align: center; display: flex; -ms-flex-align: center; justify-content: space-between;"> <a href="http://www.harvard.edu" style="text-decoration: none; color: black; margin: 0 10px;">Harvard University</a> <a href="https://www.hbs.edu/Pages/default.aspx" style="text-decoration: none; color: black; margin: 0 10px;">HBS</a> <a href="http://www.hbs.edu/about/privacy.html" style="text-decoration: none; color: black; margin: 0 10px;">Privacy</a> <a href="http://www.hbs.edu/it/Pages/login-help.aspx" style="text-decoration: none; color: black; margin: 0 10px;">Help</a> </p> <p style="font-size: 0.8rem; text-align: center; color: #616161;">Copyright 漏 President & Fellows of Harvard College</p> </footer> </main> </div> <!-- <div th:replace="fragments/footer :: footer"> <a href="fragments/footer.html">Footer</a> fragment will go here </div> --></body> </html>