ntnu.blackboard.com Open in urlscan Pro
3.65.240.234  Public Scan

Submitted URL: http://ntnu.blackboard.com/
Effective URL: https://ntnu.blackboard.com/
Submission: On April 10 via api from US — Scanned from DE

Form analysis 2 forms found in the DOM

Name: locale_pickerPOST /webapps/portal/execute/changeLocale

<form action="/webapps/portal/execute/changeLocale" method="post" name="locale_picker" target="_top">
  <script>
    function loadLocale(code) {
      document.locale_picker.locale.value = code;
      document.locale_picker.submit();
    }
    FastInit.addOnLoad(function() {
      function displayLanguages() {
        var $langButton = $('lang-select-button');
        var $langMenu = $('lang-list');

        function showMenu() {
          $langMenu.removeClassName('hide');
          $langMenu.setAttribute('aria-hidden', 'false');
          $langMenu.setAttribute('aria-expanded', 'true');
          $langMenu.setAttribute('aria-pressed', 'true');
          $langButton.setAttribute('aria-expanded', 'true');
          $langButton.addClassName('expanded');
          $langMenu.firstDescendant().firstDescendant().focus();
        }

        function hideMenu() {
          $langMenu.addClassName('hide');
          $langMenu.setAttribute('aria-hidden', 'true');
          $langMenu.setAttribute('aria-expanded', 'false');
          $langMenu.setAttribute('aria-pressed', 'false');
          $langButton.setAttribute('aria-expanded', 'false');
          $langButton.removeClassName('expanded');
        }
        //toggle logic
        if ($langMenu.hasClassName('hide')) {
          showMenu();
        } else {
          hideMenu();
        }
        //Press ESC hides the menu
        $(document).on('keydown', function(e) {
          if (e.which == 27) {
            hideMenu();
          }
        });
        $(document).on('click', function(e) {
          hideMenu();
        });
      }
      // reveal available languages on click
      $('lang-select-button').on('click', 'button', function(e) {
        displayLanguages();
        e.stopPropagation();
      });
    });
  </script>
  <input type="hidden" name="target" value="/webapps/login/?action=login">
  <button type="button" class="icon-languages" id="lang-select-button" aria-haspopup="true" aria-expanded="false" aria-controls="lang-list" aria-owns="lang-list" aria-pressed="false" aria-label="Velg språk Gjeldende språk Bokmål (Norge‭)‬"></button>
  <ul id="lang-list" class="hide" aria-hidden="true" aria-expanded="false" role="menu">
    <li aria-label="Bokmål (Norge‭)‬"><a href="javascript:loadLocale('nb_NO');" title="Bokmål (Norge‭)‬" lang="nb_NO">Bokmål (Norge‭)‬</a></li>
    <li aria-label="English (United States‭)‬"><a href="javascript:loadLocale('en_US');" title="English (United States‭)‬" lang="en_US">English (United States‭)‬</a></li>
    <li aria-label="Nynorsk (Norge‭)‬"><a href="javascript:loadLocale('nn_NO');" title="Nynorsk (Norge‭)‬" lang="nn_NO">Nynorsk (Norge‭)‬</a></li>
  </ul>
  <input type="hidden" name="locale">
</form>

Name: loginPOST /webapps/login/

<form action="/webapps/login/" onsubmit="return validate_form( this, false, true );" method="POST" name="login">
  <script type="text/javascript">
    function login_openForgotPassword(url) {
      var passwordWin = window.open(url, 'forgotPasswordWindow', 'menubar=1,resizable=1,scrollbars=1,status=1,width=850,height=480');
      passwordWin.focus();
    }
    FastInit.addOnLoad(function() {
      if (typeof ClientCache !== 'undefined') {
        ClientCache.clear();
      }
      var startingJSessionCookie = getCookie("JSESSIONID");
      var guestLocaleCookie = getCookie("guest.session.locale");
      deleteCookie("JSESSIONID", "/@@", null, true);
      deleteCookie("JSESSIONID", "/courses", null, true);
      deleteCookie("JSESSIONID", "/sessions", null, true);
      deleteCookie("JSESSIONID", "/systemdata", null, true);
      deleteCookie("JSESSIONID", "/images", null, true);
      deleteCookie("JSESSIONID", "/images-ltr", null, true);
      deleteCookie("JSESSIONID", "/images-rtl", null, true);
      deleteCookie("JSESSIONID", "/reportbranding", null, true);
      deleteCookie("JSESSIONID", "/reports", null, true);
      deleteCookie("JSESSIONID", "/modules", null, true);
      deleteCookie("JSESSIONID", "/groupjs", null, true);
      deleteCookie("JSESSIONID", "/branding", null, true);
      deleteCookie("JSESSIONID", "/queue_tasks", null, true);
      deleteCookie("JSESSIONID", "/sponsors", null, true);
      deleteCookie("JSESSIONID", "/course_image_main_images", null, true);
      deleteCookie("JSESSIONID", "/course_image_2_images", null, true);
      deleteCookie("JSESSIONID", "/course_image_nav_images", null, true);
      deleteCookie("JSESSIONID", "/org_image_main_images", null, true);
      deleteCookie("JSESSIONID", "/org_image_2_images", null, true);
      deleteCookie("JSESSIONID", "/org_image_nav_images", null, true);
      deleteCookie("JSESSIONID", "/avatar", null, true);
      deleteCookie("JSESSIONID", "/bannerthumbnail", null, true);
      deleteCookie("JSESSIONID", "/deployment", null, true);
      deleteCookie("JSESSIONID", "/content_area", null, true);
      deleteCookie("JSESSIONID", "/portfolio", null, true);
      deleteCookie("JSESSIONID", "/evidence_area", null, true);
      deleteCookie("JSESSIONID", "/public", null, true);
      deleteCookie("JSESSIONID", "/pronunciation_audio", null, true);
      deleteCookie("JSESSIONID", "", null, true);
      deleteCookie("JSESSIONID", "/webapps/login", null, true);
      deleteCookie("JSESSIONID", "/webapps/taglibs", null, true);
      deleteCookie("JSESSIONID", "/webapps/ws", null, true);
      deleteCookie("JSESSIONID", "/webapps/wysiwyg", null, true);
      deleteCookie("JSESSIONID", "/bbcswebdav", null, true);
      deleteCookie("JSESSIONID", "/webapps/cmsmain", null, true);
      deleteCookie("JSESSIONID", "/webapps/xythoswfs", null, true);
      deleteCookie("JSESSIONID", "/admin", null, true);
      deleteCookie("JSESSIONID", "/colorpalettes", null, true);
      deleteCookie("JSESSIONID", "/coursethemes", null, true);
      deleteCookie("JSESSIONID", "/common", null, true);
      deleteCookie("JSESSIONID", "/fonts", null, true);
      deleteCookie("JSESSIONID", "/javascript", null, true);
      deleteCookie("JSESSIONID", "/lib", null, true);
      deleteCookie("JSESSIONID", "/login", null, true);
      deleteCookie("JSESSIONID", "/themes", null, true);
      deleteCookie("JSESSIONID", "/ui", null, true);
      deleteCookie("JSESSIONID", "/ui-ultra", null, true);
      deleteCookie("JSESSIONID", "/learn/api", null, true);
      deleteCookie("JSESSIONID", "/webapps/software-updates", null, true);
      deleteCookie("JSESSIONID", "/webapps/dataIntegration", null, true);
      deleteCookie("JSESSIONID", "/webapps/bb-gate-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/ai", null, true);
      deleteCookie("JSESSIONID", "/webapps/goal", null, true);
      deleteCookie("JSESSIONID", "/webapps/bb-social-learning-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/api-gateway", null, true);
      deleteCookie("JSESSIONID", "/webapps/rubric", null, true);
      deleteCookie("JSESSIONID", "/webapps/streamViewer", null, true);
      deleteCookie("JSESSIONID", "/webapps/submission-services", null, true);
      deleteCookie("JSESSIONID", "/webapps/bb-content-model-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/bb-group-mgmt-LEARN", null, true);
      deleteCookie("JSESSIONID", "/webapps/bb-ultra-conversion", null, true);
      deleteCookie("JSESSIONID", "/webapps/gradebook", null, true);
      deleteCookie("JSESSIONID", "/webapps/assessment", null, true);
      deleteCookie("JSESSIONID", "/webapps/videointegration", null, true);
      deleteCookie("JSESSIONID", "/webapps/vtbe-tinymce-ephox-hyperlinking", null, true);
      deleteCookie("JSESSIONID", "/webapps/vtbe-tinymce-ephox-spelling", null, true);
      deleteCookie("JSESSIONID", "/webapps/bb-common-styles-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/bb-xss-filter-whitelist-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/bb-xss-filter-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/vtbe-tinymce", null, true);
      deleteCookie("JSESSIONID", "/webapps/bbcms", null, true);
      deleteCookie("JSESSIONID", "/webapps/inline-grading", null, true);
      deleteCookie("JSESSIONID", "/webapps/taskprogress", null, true);
      deleteCookie("JSESSIONID", "/webapps/spreview", null, true);
      deleteCookie("JSESSIONID", "/webapps/bb-xss-input-validation-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/portfolio", null, true);
      deleteCookie("JSESSIONID", "/webapps/blogs-journals", null, true);
      deleteCookie("JSESSIONID", "/webapps/foundations-connector", null, true);
      deleteCookie("JSESSIONID", "/webapps/partner-cloud", null, true);
      deleteCookie("JSESSIONID", "/webapps/date-management", null, true);
      deleteCookie("JSESSIONID", "/webapps/discussionboard", null, true);
      deleteCookie("JSESSIONID", "/webapps/bb-selfpeer-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/assignment", null, true);
      deleteCookie("JSESSIONID", "/webapps/allyintegration", null, true);
      deleteCookie("JSESSIONID", "/webapps/bb-mygrades-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/operational-data-store", null, true);
      deleteCookie("JSESSIONID", "/webapps/Bb-wiki-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/retention", null, true);
      deleteCookie("JSESSIONID", "/webapps/consulting-central", null, true);
      deleteCookie("JSESSIONID", "/webapps/caliper", null, true);
      deleteCookie("JSESSIONID", "/webapps/school-data-sync", null, true);
      deleteCookie("JSESSIONID", "/webapps/ee-Eesypluginv2-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/ppto-PanoptoCourseTool-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/bb-1027954530152-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/bb-auth-provider-cas-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/bb-auth-provider-ldap-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/insight-report", null, true);
      deleteCookie("JSESSIONID", "/webapps/bbgs-urkund_anti_plagiarism-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/Bb-McGrawHill-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/bb-data-integration-ss-xml-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/privacy-disclosure", null, true);
      deleteCookie("JSESSIONID", "/webapps/bb-data-integration-lis-final-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/mdb-sa-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/bbtextbook", null, true);
      deleteCookie("JSESSIONID", "/auth-saml", null, true);
      deleteCookie("JSESSIONID", "/webapps/notes", null, true);
      deleteCookie("JSESSIONID", "/webapps/bbcxcourseconversion", null, true);
      deleteCookie("JSESSIONID", "/webapps/bb-financial-aid-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/bbcxcommoncartridge", null, true);
      deleteCookie("JSESSIONID", "/webapps/bb-alerts-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/bb-nautilus-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/collab-ultra", null, true);
      deleteCookie("JSESSIONID", "/webapps/achievements", null, true);
      deleteCookie("JSESSIONID", "/webapps/attendance", null, true);
      deleteCookie("JSESSIONID", "/webapps/oslt-jshack-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/calendar", null, true);
      deleteCookie("JSESSIONID", "/webapps/cmsadmin", null, true);
      deleteCookie("JSESSIONID", "/webapps/bbgs-goal-performance-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/blackboard", null, true);
      deleteCookie("JSESSIONID", "/webapps/item-analysis", null, true);
      deleteCookie("JSESSIONID", "/webapps/bb-mashups-youtube-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/scor-scormengine-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/bbgs-SISFrameworkController-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/building-block-conversion", null, true);
      deleteCookie("JSESSIONID", "/webapps/bbgs-log-file-downloader-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/portal", null, true);
      deleteCookie("JSESSIONID", "/webapps/Bb-mobile-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/telemetry", null, true);
      deleteCookie("JSESSIONID", "/webapps/ultraui", null, true);
      deleteCookie("JSESSIONID", "/webapps/bb-mashups-flickr-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/bbgs-GradeJourney-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/bb-telephony-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/bb-mashups-slideshare-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/foundations-token", null, true);
      deleteCookie("JSESSIONID", "/webapps/bb-theme-diff-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/feature-flags", null, true);
      deleteCookie("JSESSIONID", "/webapps/auth-provider-foundations", null, true);
      deleteCookie("JSESSIONID", "/webapps/bb-data-integration-flatfile-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/asset-processor", null, true);
      deleteCookie("JSESSIONID", "/webapps/enterpriseSurvey", null, true);
      deleteCookie("JSESSIONID", "/webapps/cloudstorageintegration", null, true);
      deleteCookie("JSESSIONID", "/webapps/bb-data-integration-ims-xml-BB5def77a38a2f7", null, true);
      deleteCookie("JSESSIONID", "/webapps/plugins", null, true);
      deleteCookie("JSESSIONID", "/webapps/searchwidgets", null, true);
      if (guestLocaleCookie != null) {
        setCookie("guest.session.locale", guestLocaleCookie);
      }
      setCookie("JSESSIONID", startingJSessionCookie);
      if (typeof aptrinsic !== 'undefined') {
        window.aptrinsic('reset');
      }
      if (typeof pendo !== 'undefined') {
        pendo.clearSession();
      }
    });
  </script>
  <div id="loginFormFields" class="clearfix">
    <ul id="loginFormList" class="clearfix">
      <li class="clearfix">
        <label for="user_id">Brukernavn</label>
        <input type="text" name="user_id" id="user_id" size="25" maxlength="50" autocomplete="off" aria-labelledby="alternativeLoginNTNU username">
      </li>
      <li class="clearfix">
        <label for="password">Passord</label>
        <input size="25" name="password" id="password" type="password" autocomplete="off" aria-labelledby="alternativeLoginNTNU password">
      </li>
      <li class="clearfix">
        <input id="entry-login" type="submit" value="Logg på" name="login" class="button expand inverse outline">
      </li>
    </ul>
    <div class="login-form-footer row collapse">
      <div class="stay-signed-in small-6 columns text-left">
      </div>
      <div class="small-6 columns text-right">
        <a href="https://bas.ntnu.no/userclient/" onclick="login_openForgotPassword('https://bas.ntnu.no/userclient/');return false;">Har du glemt passordet?</a>
      </div>
    </div>
  </div>
  <script src="/javascript/qrcodejs/qrcode.min.js"></script>
  <dialog id="mfa-registration" role="dialog" class="mfa-modal-container" aria-modal="true" style="display: none;">
    <div class="mfa-registration-modal mfa-modal" aria-labelledby="mfa-registration-title" aria-describedby="mfa-registration-description">
      <div class="mfa-modal-title">
        <h1 id="mfa-registration-title">Flerfaktorautentisering</h1>
      </div>
      <div class="registration-modal-body">
        <div id="mfa-registration-description" class="registration-modal-body-description">
          <div>
            <span>Trinn 1</span>
            <p>Last ned og installer en autentiseringsapp (f.eks. <strong>Microsoft Authenticator, Google Authenticator eller Authy</strong>) på telefonen.</p>
          </div>
          <div>
            <span>Trinn 2</span>
            <p class="web-content">Åpne autentiseringsappen og skann bildet nedenfor med telefonkameraet. Eventuelt kan du kopiere nøkkelen.</p>
            <p class="mobile-content">Åpne autentiseringsappen og kopier nøkkelen nedenfor.</p>
          </div>
        </div>
        <div class="registration-qr-code">
          <div class="qr-code-img" id="qrcode" tabindex="-1" aria-hidden="true" title="${mfaQRUri}"><canvas width="120" height="120" style="display: none;"></canvas><img
              src="data:image/png;base64,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"
              style="display: block;"></div>
          <input type="hidden" id="qr-uri" tabindex="-1" aria-hidden="true" value="${mfaQRUri}">
          <div class="secret-key-container">
            <p id="secretkey">${mf aSec retK ey}</p>
            <div class="copy-key">
              <a id="copy-secret-key" tabindex="0" onclick="copyTextToClipboard();">Kopier nøkkelen</a>
              <div id="copy-feedback" class="copyfeedback">
                <span style="padding: 4px">-</span>
                <div class="copy-success">
                  <span role="alert" aria-live="assertive" style="color: #007D2C;font-size: 12px;line-height: 18px;">Nøkkelen er kopiert</span>
                  <img class="check-icon" src="/images/ci/icons/complete.svg" aria-hidden="true">
                </div>
              </div>
            </div>
          </div>
        </div>
        <div class="next-progress-info">
          <span>Trinn 3</span>
          <p id="next-progress-description">Trykk på Neste for å legge inn koden og knytte den til kontoen din</p>
        </div>
      </div>
      <div class="modal-footer">
        <button id="reg-cancel-button" class="modal-button button-cancel">Avbryt</button>
        <button id="reg-next-button" class="modal-button button-next">Neste</button>
      </div>
    </div>
  </dialog>
  <script type="text/javascript">
    // Initialize QRCode with the provided URI and set display parameters
    var qrcode = new QRCode(document.getElementById("qrcode"), {
      text: document.getElementById("qr-uri").value,
      width: 120,
      height: 120,
      colorDark: "#000000",
      colorLight: "#ffffff",
      correctLevel: QRCode.CorrectLevel.H
    });
    // Event listener for the 'Next' button click in the registration dialog
    const nextButton = document.getElementById('reg-next-button');
    nextButton.addEventListener('click', function(event) {
      event.preventDefault();
      // Hide registration dialog and show verification dialog
      const registrationDialog = document.getElementById('mfa-registration');
      const verificationDialog = document.getElementById('mfa-totp-verification');
      const inputField = document.getElementById('totp-verification-input');
      registrationDialog.style.display = 'none';
      verificationDialog.style.display = 'flex';
      inputField.focus();
      // Update hidden input values to manage UI states
      document.getElementById('showMFARegistration').value = 'false';
      document.getElementById('showMFAVerification').value = 'true';
      document.getElementById('showMFASuccessFul').value = 'false';
    });
    // Event listener for the 'Cancel' button click in the registration dialog
    const regCancelButton = document.getElementById('reg-cancel-button');
    regCancelButton.addEventListener('click', function(event) {
      event.preventDefault();
      // Navigate to login page.
      window.location.href = '/webapps/login/?action=logout';
    });
    // Function to add a space after every 4 characters in the secret key
    function formatSecretKey() {
      const secretKeyElement = document.getElementById('secretkey');
      const secretKeyText = secretKeyElement.textContent;
      const formattedSecretKey = secretKeyText.replace(/(.{4})/g, '$1 ');
      secretKeyElement.textContent = formattedSecretKey;
    }
    // Call the function to format the displayed secret key
    formatSecretKey();
    // Function to copy text to clipboard
    function copyTextToClipboard(text) {
      const textArea = document.createElement('textarea');
      textArea.value = text;
      document.body.appendChild(textArea);
      textArea.select();
      const copykey = document.execCommand('copy');
      document.body.removeChild(textArea);
      return copykey;
    }
    // Event listener for the 'Copy' button click to copy the secret key to clipboard
    function handleCopykeyEvent() {
      event.preventDefault();
      const secretKeyElement = document.getElementById('secretkey');
      const secretKeyText = secretKeyElement.textContent;
      const unformattedSecretKey = secretKeyText.replace(/\s+/g, '');
      copyTextToClipboard(unformattedSecretKey);
      const copyFeedback = document.getElementById('copy-feedback');
      copyFeedback.style.display = 'flex';
      setTimeout(function() {
        copyFeedback.style.display = 'none';
      }, 10000);
      document.getElementById('copy-secret-key').focus();
    }
    document.getElementById('copy-secret-key').addEventListener('click', handleCopykeyEvent);
    document.getElementById('copy-secret-key').addEventListener('keydown', function(event) {
      if (event.key === 'Enter' || event.code === 'Space') {
        handleCopykeyEvent(event);
      }
    });
  </script>
  <dialog id="mfa-totp-verification" class="mfa-modal-container" style="display: none;">
    <div class="mfa-verification-modal mfa-modal" role="dialog" aria-modal="true" aria-labelledby="mfa-verification-title">
      <div class="mfa-modal-title">
        <h1 id="mfa-verification-title">Flerfaktorautentisering</h1>
      </div>
      <div class="verification-modal-body">
        <div class="verification-modal-body-description">
          <label for="totp-verification-input" class="custom-label">Skriv inn koden</label>
          <p id="mfa-verification-description">Skriv inn den 6-sifrede midlertidige koden som er generert av autentiseringsappen</p>
        </div>
        <div id="totp-verification-input-container" class="verification-input">
          <input name="secondaryAuthToken" id="totp-verification-input" type="text" onkeypress="return validateTOTP(event)" maxlength="6" tabindex="0" placeholder="000000" autocomplete="off" aria-describedby="mfa-verification-description"
            aria-invalid="false">
        </div>
        <div id="loading-spinner" class="centered">
          <div class="loader-outer">
            <div id="loader">
              <div class="loader-inner"></div>
            </div>
          </div>
        </div>
      </div>
      <div class="modal-footer">
        <button id="totp-back-button2" class="modal-button button-back">Tilbake</button>
        <button id="totp-submit-button" class="modal-button button-submit" type="submit" onclick="showLoadingSpinner();" disabled="">Send</button>
      </div>
    </div>
  </dialog>
  <script>
    window.onload = function() {
      const totpInput = document.getElementById("totp-verification-input");
      if (totpInput) {
        totpInput.focus();
      }
    }

    function validateTOTP(event) {
      const inputField = document.getElementById('totp-verification-input');
      const key = event.key;
      if ((key >= '0' && key <= '9') || key === 'Backspace' || (event.metaKey && key === 'a')) // for safari browser compatablity
      {
        return true; // Allow
      } else if (key === 'Enter') {
        if (inputField.value.length !== 6) {
          event.preventDefault();
        } else {
          showLoadingSpinner();
          return true;
        }
      } else {
        return false; // Block
      }
    }
    const inputField = document.getElementById('totp-verification-input');
    // To enable/disable the submit button based on input value.
    inputField.addEventListener('keyup', function() {
      const submitButton = document.getElementById('totp-submit-button');
      submitButton.disabled = !(inputField.value.length === 6);
    });
    inputField.addEventListener('input', function() {
      const errorMessageContainer = document.getElementById('totp-error');
      if (errorMessageContainer) {
        errorMessageContainer.style.display = 'none'; // Hide the error message on focus
      }
    });

    function showLoadingSpinner() {
      const spinner = document.getElementById('loading-spinner');
      const inputField = document.getElementById('totp-verification-input');
      const inputContainer = document.getElementById('totp-verification-input-container');
      const errorMessage = document.getElementById('errorMessage');
      const backbutton1 = document.getElementById('totp-back-button1');
      const backbutton2 = document.getElementById('totp-back-button2');
      if (inputField.value.length === 6 && !errorMessage) {
        inputContainer.style.display = 'none';
        spinner.style.display = "flex";
        if (backbutton1) {
          backbutton1.disabled = true;
        }
        if (backbutton2) {
          backbutton2.disabled = true;
        }
      } else if (errorMessage) {
        spinner.style.display = 'none';
        inputContainer.style.display = 'flex';
        inputField.setAttribute('aria-invalid', 'true');
      }
    }

    function clearTOTPCode() {
      document.getElementById('totp-verification-input').value = '';
    }
    const totpButton2 = document.getElementById('totp-back-button2');
    if (totpButton2) {
      totpButton2.addEventListener('click', function(event) {
        event.preventDefault();
        clearTOTPCode();
        window.location.href = '/webapps/login/?action=logout';
      });
    }
  </script>
  <dialog id="mfa-registration-success" role="dialog" class="mfa-modal-container" aria-modal="true" style="display: none;">
    <div class="success-modal mfa-modal" tabindex="0" aria-labelledby="mfa-success-title" aria-describedby="mfa-success-description">
      <div class="mfa-modal-title">
        <h1 id="mfa-success-title">Flerfaktorautentisering</h1>
      </div>
      <div class="modal-success-body">
        <div id="mfa-success-description" class="success-description">
          <div>
            <span>Det var det hele</span>
            <p>Du har aktivert flerfaktorautentisering med autentiseringsappen din.</p>
          </div>
          <div>
            <p class="web-content">Nå ber vi deg om en påloggingskode hver gang du logger på.</p>
            <p class="mobile-content">Nå ber vi deg om en påloggingskode hver gang du logger på via en enhet vi ikke gjenkjenner.</p>
          </div>
        </div>
      </div>
      <div class="modal-footer">
        <button id="mfa-registration-succes-button" class="modal-button button-done">Ferdig</button>
        <input type="hidden" id="mfaSuccessfulNavUrl" value="${mfaSuccessfulNavUrl}">
      </div>
    </div>
  </dialog>
  <script>
    const sucessNavButton = document.getElementById('mfa-registration-succes-button');
    sucessNavButton.addEventListener('click', function(event) {
      event.preventDefault();
      const navUrl = document.getElementById('mfaSuccessfulNavUrl').value;
      window.location = navUrl;
    });
  </script>
  <input type="hidden" name="showMFARegistration" id="showMFARegistration" value="$showMFARegistration">
  <input type="hidden" name="showMFAVerification" id="showMFAVerification" value="$showMFAVerification">
  <input type="hidden" name="showMFASuccessFul" id="showMFASuccessFul" value="$showMFASuccessFul">
  <input type="hidden" name="action" value="login">
  <input type="hidden" name="new_loc" value="">
  <input type="hidden" name="blackboard.platform.security.NonceUtil.nonce.ajax" value="a3d99130-7db8-40e4-a8a4-1f84b1d6fba9">
</form>

Text Content

BLACKBOARD LEARN ™


VIS ALTERNATIVER

 * Bokmål (Norge‭)‬
 * English (United States‭)‬
 * Nynorsk (Norge‭)‬

 * Hjelp
 * Personvern og vilkår for bruk
 * Tilgjengelighet

 * 
   Logg inn i Blackboard
 * Alternativ innlogging Glemt passordet ditt? (nytt vindu)





ALTERNATIV PÅLOGGING

Aktiver JavaScript i nettleseren for at Blackboard-programmet skal fungere.
 * Brukernavn
 * Passord
 * 

Har du glemt passordet?


FLERFAKTORAUTENTISERING

Trinn 1

Last ned og installer en autentiseringsapp (f.eks. Microsoft Authenticator,
Google Authenticator eller Authy) på telefonen.

Trinn 2

Åpne autentiseringsappen og skann bildet nedenfor med telefonkameraet. Eventuelt
kan du kopiere nøkkelen.

Åpne autentiseringsappen og kopier nøkkelen nedenfor.

${mf aSec retK ey}

Kopier nøkkelen
-
Nøkkelen er kopiert
Trinn 3

Trykk på Neste for å legge inn koden og knytte den til kontoen din

Avbryt Neste


FLERFAKTORAUTENTISERING

Skriv inn koden

Skriv inn den 6-sifrede midlertidige koden som er generert av
autentiseringsappen



Tilbake Send


FLERFAKTORAUTENTISERING

Det var det hele

Du har aktivert flerfaktorautentisering med autentiseringsappen din.

Nå ber vi deg om en påloggingskode hver gang du logger på.

Nå ber vi deg om en påloggingskode hver gang du logger på via en enhet vi ikke
gjenkjenner.

Ferdig
Logg på med en tredjepartskonto
 * 
   Logg inn i Blackboard



Velkommen til Blackboards e-utdanningsplattform—. Den er utformet for å legge
til rette for utdanningsinnovasjoner globalt ved å knytte sammen mennesker og
teknologi.

© 1997–2024 Blackboard Inc. Med enerett.