fub-eval.blackboard.com
Open in
urlscan Pro
3.73.3.86
Public Scan
URL:
https://fub-eval.blackboard.com/
Submission: On August 06 via api from US — Scanned from DE
Submission: On August 06 via api from US — Scanned from DE
Form analysis
1 forms found in the DOMName: login — POST https://fub-eval.blackboard.com
<form action="https://fub-eval.blackboard.com" onsubmit="return cedisLogin.validateLogin(this)" 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-BB658200530f70a", null, true);
deleteCookie("JSESSIONID", "/webapps/ai", null, true);
deleteCookie("JSESSIONID", "/webapps/goal", null, true);
deleteCookie("JSESSIONID", "/webapps/bb-social-learning-BB658200530f70a", 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-BB658200530f70a", 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-BB658200530f70a", null, true);
deleteCookie("JSESSIONID", "/webapps/bb-xss-filter-whitelist-BB658200530f70a", null, true);
deleteCookie("JSESSIONID", "/webapps/bb-xss-filter-BB658200530f70a", 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-BB658200530f70a", 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-BB658200530f70a", null, true);
deleteCookie("JSESSIONID", "/webapps/operational-data-store", null, true);
deleteCookie("JSESSIONID", "/webapps/Bb-wiki-BB658200530f70a", null, true);
deleteCookie("JSESSIONID", "/webapps/retention", null, true);
deleteCookie("JSESSIONID", "/webapps/assignment", null, true);
deleteCookie("JSESSIONID", "/webapps/bb-mygrades-BB658200530f70a", null, true);
deleteCookie("JSESSIONID", "/webapps/allyintegration", null, true);
deleteCookie("JSESSIONID", "/webapps/consulting-central", null, true);
deleteCookie("JSESSIONID", "/webapps/caliper", null, true);
deleteCookie("JSESSIONID", "/webapps/bbgs-goal-performance-BB658200530f70a", null, true);
deleteCookie("JSESSIONID", "/webapps/school-data-sync", null, true);
deleteCookie("JSESSIONID", "/webapps/bbtextbook", null, true);
deleteCookie("JSESSIONID", "/webapps/telemetry", null, true);
deleteCookie("JSESSIONID", "/webapps/bbcxcourseconversion", null, true);
deleteCookie("JSESSIONID", "/webapps/bb-nautilus-BB658200530f70a", null, true);
deleteCookie("JSESSIONID", "/webapps/bb-mashups-youtube-BB658200530f70a", null, true);
deleteCookie("JSESSIONID", "/webapps/plugins", null, true);
deleteCookie("JSESSIONID", "/webapps/bb-financial-aid-BB658200530f70a", null, true);
deleteCookie("JSESSIONID", "/webapps/calendar", null, true);
deleteCookie("JSESSIONID", "/webapps/building-block-conversion", null, true);
deleteCookie("JSESSIONID", "/webapps/bb-auth-provider-cas-BB658200530f70a", null, true);
deleteCookie("JSESSIONID", "/webapps/privacy-disclosure", null, true);
deleteCookie("JSESSIONID", "/webapps/bb-theme-diff-BB658200530f70a", null, true);
deleteCookie("JSESSIONID", "/webapps/bb-auth-provider-ldap-BB658200530f70a", null, true);
deleteCookie("JSESSIONID", "/webapps/Bb-mobile-BB658200530f70a", null, true);
deleteCookie("JSESSIONID", "/webapps/achievements", null, true);
deleteCookie("JSESSIONID", "/webapps/cloudstorageintegration", null, true);
deleteCookie("JSESSIONID", "/webapps/bb-data-integration-lis-final-BB658200530f70a", null, true);
deleteCookie("JSESSIONID", "/webapps/bb-data-integration-ims-xml-BB658200530f70a", null, true);
deleteCookie("JSESSIONID", "/webapps/blackboard", null, true);
deleteCookie("JSESSIONID", "/webapps/cmsadmin", null, true);
deleteCookie("JSESSIONID", "/webapps/bb-mashups-slideshare-BB658200530f70a", null, true);
deleteCookie("JSESSIONID", "/webapps/notes", null, true);
deleteCookie("JSESSIONID", "/webapps/portal", null, true);
deleteCookie("JSESSIONID", "/webapps/bb-mashups-flickr-BB658200530f70a", null, true);
deleteCookie("JSESSIONID", "/webapps/bbcxcommoncartridge", null, true);
deleteCookie("JSESSIONID", "/webapps/bb-data-integration-ss-xml-BB658200530f70a", null, true);
deleteCookie("JSESSIONID", "/webapps/bb-telephony-BB658200530f70a", null, true);
deleteCookie("JSESSIONID", "/webapps/enterpriseSurvey", null, true);
deleteCookie("JSESSIONID", "/webapps/ultraui", null, true);
deleteCookie("JSESSIONID", "/webapps/scor-scormengine-BB658200530f70a", null, true);
deleteCookie("JSESSIONID", "/webapps/mdb-sa-BB658200530f70a", null, true);
deleteCookie("JSESSIONID", "/webapps/feature-flags", null, true);
deleteCookie("JSESSIONID", "/webapps/insight-report", null, true);
deleteCookie("JSESSIONID", "/webapps/oslt-jshack-BB658200530f70a", null, true);
deleteCookie("JSESSIONID", "/webapps/attendance", null, true);
deleteCookie("JSESSIONID", "/webapps/item-analysis", null, true);
deleteCookie("JSESSIONID", "/webapps/auth-provider-foundations", null, true);
deleteCookie("JSESSIONID", "/auth-saml", null, true);
deleteCookie("JSESSIONID", "/webapps/goal-mastery", null, true);
deleteCookie("JSESSIONID", "/webapps/asset-processor", null, true);
deleteCookie("JSESSIONID", "/webapps/bb-alerts-BB658200530f70a", null, true);
deleteCookie("JSESSIONID", "/webapps/foundations-token", null, true);
deleteCookie("JSESSIONID", "/webapps/bb-data-integration-flatfile-BB658200530f70a", 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">Benutzername:</label>
<input type="text" name="user_id" id="user_id" size="25" maxlength="50" autocomplete="off" onblur="cedisLogin.checkAccount(this.value)">
</li>
<li class="clearfix">
<label for="password">Password</label>
<input size="25" name="password" id="password" type="password" autocomplete="off">
</li>
<li class="clearfix">
<input id="entry-login" type="submit" value="Anmelden" 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>
</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">Multi-Factor Authentication</h1>
</div>
<div class="registration-modal-body">
<div id="mfa-registration-description" class="registration-modal-body-description">
<div>
<span>Step 1</span>
<p>Download and install any authenticator app (e.g. <strong>Microsoft Authenticator, Google Authenticator, or Authy</strong>) on your phone.</p>
</div>
<div>
<span>Step 2</span>
<p class="web-content">Open the authenticator app and scan the image below using your phone's camera or copy the key.</p>
<p class="mobile-content">Open the authenticator app and copy the key below.</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();">Copy key</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;">Key copied</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>Step 3</span>
<p id="next-progress-description">Press next to enter the code and associate it with your account</p>
</div>
</div>
<div class="modal-footer">
<button id="reg-cancel-button" class="modal-button button-cancel">Cancel</button>
<button id="reg-next-button" class="modal-button button-next">Next</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">Multi-Factor Authentication</h1>
</div>
<div class="verification-modal-body">
<div class="verification-modal-body-description">
<label for="totp-verification-input" class="custom-label">Type the Code</label>
<p id="mfa-verification-description">Type the 6-digit temporary code generated with your authenticator application</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">Back</button>
<button id="totp-submit-button" class="modal-button button-submit" type="submit" onclick="showLoadingSpinner();" disabled="">Submit</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">Multi-Factor Authentication</h1>
</div>
<div class="modal-success-body">
<div id="mfa-success-description" class="success-description">
<div>
<span>You are all set</span>
<p>You have enabled multi-factor authentication using your authenticator app.</p>
</div>
<div>
<p class="web-content">We will now ask for a login code anytime you log in.</p>
<p class="mobile-content">We will now ask for a login code anytime you log in on a device we don't recognize.</p>
</div>
</div>
</div>
<div class="modal-footer">
<button id="mfa-registration-succes-button" class="modal-button button-done">Done</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="62234f21-79ee-445c-add3-6a79319272ab">
</form>
Text Content
* Startseite * Kontakt * Impressum * Nutzungsbedingungen * Datenschutz BLACKBOARD - LEARNING MANAGEMENT SYSTEM * Login * Hilfe * Jobs ZUM LOGIN DER WICHTIGER HINWEIS FÜR NUTZER*INNEN MIT CHARITÉ KONTO Nutzer*innen mit einem Charité Konto können künftig nur noch das »Login mit Charité Konto« über den Button auf dieser Seite benutzen. INFO FÜR NUTZER*INNEN DES PASSWORTMANAGER IHRES BROWSERS Falls Sie für das Login auf dieser Seite den Passwortmanager Ihres Browsers benutzen, löschen Sie bitte den entsprechenden Eintrag. Die für diese Seite im Passwortmanager gespeicherten Zugangsdaten können künftig nicht mehr verwendet werden. Mit einem Login über »Login mit Charité Konto« können sie dort erneut dann Zugangsdaten im Passwortmanager Ihres Browser speichern. WICHTIGER HINWEIS FÜR NUTZER*INNEN MIT CHARITÉ KONTO Nutzer*innen mit einem Charité Konto können künftig nur noch das »Login mit Charité Konto« auf dieser Seite benutzen. INFO FÜR NUTZER*INNEN DES PASSWORTMANAGER IHRES BROWSERS Falls Sie für das Login auf dieser Seite den Passwortmanager Ihres Browsers benutzen, löschen Sie bitte den entsprechenden Eintrag. Die für diese Seite im Passwortmanager gespeicherten Zugangsdaten können künftig nicht mehr verwendet werden. Nach einem Login über »Login mit Charité Konto« auf dieser Seite können sie dann erneut Ihre Zugangsdaten im Passwortmanager Ihres Browser speichern. Please enable JavaScript in your browser for the Blackboard application to function. * Benutzername: * Password * MULTI-FACTOR AUTHENTICATION Step 1 Download and install any authenticator app (e.g. Microsoft Authenticator, Google Authenticator, or Authy) on your phone. Step 2 Open the authenticator app and scan the image below using your phone's camera or copy the key. Open the authenticator app and copy the key below. ${mf aSec retK ey} Copy key - Key copied Step 3 Press next to enter the code and associate it with your account Cancel Next MULTI-FACTOR AUTHENTICATION Type the Code Type the 6-digit temporary code generated with your authenticator application Back Submit MULTI-FACTOR AUTHENTICATION You are all set You have enabled multi-factor authentication using your authenticator app. We will now ask for a login code anytime you log in. We will now ask for a login code anytime you log in on a device we don't recognize. Done Bitte beachten Sie: hier können sich ausschließlich FU-Externe Personen anmelden. Alle FU-Angehörige nutzen bitte den Button »Login (FU-Account)« auf der vorherigen Seite. -------------------------------------------------------------------------------- Login only for non-FU Accounts possible. All FU members please use the »Login (FU-Account)« button on the previous page. Zurück zur Login-Auswahl HABEN SIE SCHON EINEN BLACKBOARD-ACCOUNT? MELDEN SIE SICH HIER AN. MELDEN SIE SICH HIER AN. Die zentrale Lernplattform Blackboard gehört zu den Anwendungen an der Freien Universität Berlin, die am Single Sign-On teilnehmen. Weitere Informationen finden Sie hier. Login (FU-Account) Login (External Account) Für alle Angehörigen der Freien Universität Berlin, die über einen FU Account verfügen. Für alle FU-Externen, die im Wintersemester 23/24 noch über keinen FU-Account verfügen. SIE HABEN NOCH KEINEN BLACKBOARD-ACCOUNT? Lehrende und Studierende der Freien Universität können sich mit ihrem FU-Account (früher ZEDAT-Account) selbst an der zentralen Lernplattform Blackboard registieren. Klicken Sie dazu auf den Button »Selbstregistrierung«. Selbstregistrierung Sie haben noch keinen FU-Account für die Nutzung der zentralen Lernplattform Blackboard? Weitere Informationen finden Sie hier weitere Informationen. Fehler beim Login / Error Login Neues in Blackboard SYSTEM ANNOUNCEMENTS * Geänderte Nutzungsbedingungen und Datenschutzhinweise (Wednesday, January 31, 2024) Liebe Blackboard-Nutzende, wir haben neue Funktionen in Blackboard implementiert, daher haben wir die Allgemeinen Nutzungsbedingungen sowie die Datenschutzhinweise von Blackboard dahingehend aktualisiert. * Unsere aktualisierten Allgemeinen Nutzungsbedingungen * Unsere aktualisierten Datenschutzbestimmungen Weitere Informationen zu den neuen Funktionen finden Sie in der entsprechenden Infobox gleich nach dem Login. Ihr LMS Team * 3OOITW - Mobile App Access Code (Wednesday, January 3, 2024) Use this code (3OOITW) when prompted for institution code in the mobile app Javascript aktivieren / Enable Javascript Sie müssen Javascript aktivieren, damit Sie sich einloggen können! You need JavaScript enabled to log in! Zum Login der Charité Hinweis: Dies ist das Testsystem - fub-eval.blackboard.com fub * Eine Kooperation mit der Charité Universitätsmedizin Berlin © 2023 Server Name/IP: ip-10-148-209-18/10.148.209.18, Remote IP: 78.159.108.38