login.microsoftonline.com
Open in
urlscan Pro
20.190.148.165
Public Scan
Submitted URL: https://prod2.beeline.com/3m?76EED830FCAF41DCBDEB440192CED206
Effective URL: https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=2793995e-0a7d-40d7-bd35-6968ba142197&redirect_uri=https%3...
Submission: On January 09 via manual from SG — Scanned from SG
Effective URL: https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=2793995e-0a7d-40d7-bd35-6968ba142197&redirect_uri=https%3...
Submission: On January 09 via manual from SG — Scanned from SG
Form analysis
2 forms found in the DOMName: f1 — POST https://login.microsoftonline.com/common/login
<form name="f1" id="i0281" novalidate="novalidate" spellcheck="false" method="post" target="_top" autocomplete="off"
data-bind="autoSubmit: forceSubmit, attr: { action: postUrl }, ariaHidden: !!activeDialog(), css: { 'provide-min-height': svr.fUseMinHeight }" action="https://login.microsoftonline.com/common/login" class="provide-min-height">
<!-- ko withProperties: { '$loginPage': $data } -->
<div class="login-paginated-page" data-bind="component: { name: 'master-page',
publicMethods: masterPageMethods,
params: {
serverData: svr,
showButtons: svr.fShowButtons,
showFooterLinks: true,
useWizardBehavior: svr.fUseWizardBehavior,
handleWizardButtons: false,
password: password,
hideFromAria: ariaHidden },
event: {
footerAgreementClick: footer_agreementClick } }"><!-- -->
<!-- ko ifnot: useLayoutTemplates --><!-- /ko -->
<!-- ko if: useLayoutTemplates -->
<!-- ko withProperties: { '$page': $parent } -->
<!-- ko if: isLightboxTemplate() -->
<div id="lightboxTemplateContainer" data-bind="component: { name: 'lightbox-template', params: { serverData: svr, showHeader: $page.showHeader(), headerLogo: $page.headerLogo() } }, css: { 'provide-min-height': svr.fUseMinHeight }"
class="provide-min-height"><!-- -->
<div id="lightboxBackgroundContainer" data-bind="css: { 'provide-min-height': svr.fUsePlaywrightMinHeight },
component: { name: 'background-image-control',
publicMethods: $page.backgroundControlMethods,
event: { load: $page.backgroundImageControl_onLoad } }">
<div class="background-image-holder" role="presentation" data-bind="css: { app: isAppBranding }, style: { background: backgroundStyle }">
<!-- ko if: smallImageUrl --><!-- /ko -->
<!-- ko if: backgroundImageUrl -->
<div id="backgroundImage" role="img" data-bind="backgroundImage: backgroundImageUrl(), externalCss: { 'background-image': true }, ariaLabel: str['STR_Background_Image_AltText']" class="background-image ext-background-image"
aria-label="组织背景图像" style="background-image: url("https://aadcdn.msauth.net/shared/1.0/content/images/backgrounds/2_11d9e3bcdfede9ce5ce5ace2d129f1c4.svg");"></div>
<!-- ko if: useImageMask --><!-- /ko -->
<!-- /ko -->
</div>
</div>
<!-- ko if: svr.iBannerEnvironment --><!-- /ko -->
<!-- ko withProperties: { '$masterPageContext': $parentContext } -->
<div class="outer" data-bind="css: { 'app': $page.backgroundLogoUrl }">
<!-- ko if: showHeader --><!-- /ko -->
<div class="template-section main-section">
<div data-bind="externalCss: { 'middle': true }" class="middle ext-middle">
<div class="full-height" data-bind="component: { name: 'content-control', params: { serverData: svr, isVerticalSplitTemplate: $page.isVerticalSplitTemplate(), hasHeader: showHeader } }"><!-- -->
<!-- ko withProperties: { '$content': $data } -->
<div class="flex-column">
<!-- ko if: $page.paginationControlHelper.showBackgroundLogoHolder --><!-- /ko -->
<!-- ko if: $page.paginationControlHelper.showPageLevelTitleControl --><!-- /ko -->
<div class="win-scroll">
<div id="lightbox" data-bind="
animationEnd: $page.paginationControlHelper.animationEnd,
externalCss: { 'sign-in-box': true },
css: {
'inner': $content.isVerticalSplitTemplate,
'vertical-split-content': $content.isVerticalSplitTemplate,
'app': $page.backgroundLogoUrl,
'wide': $page.paginationControlHelper.useWiderWidth,
'fade-in-lightbox': $page.fadeInLightBox,
'has-popup': $page.showFedCredAndNewSession && ($page.showFedCredButtons() || $page.newSession()),
'transparent-lightbox': $page.backgroundControlMethods() && $page.backgroundControlMethods().useTransparentLightBox,
'lightbox-bottom-margin-debug': $page.showDebugDetails,
'has-header': $content.hasHeader }" class="sign-in-box ext-sign-in-box fade-in-lightbox has-popup">
<!-- ko template: { nodes: $masterPageContext.$componentTemplateNodes, data: $page } -->
<!-- ko if: svr.fShowCookieBanner --><!-- /ko -->
<div class="lightbox-cover" data-bind="css: { 'disable-lightbox': svr.fAllowGrayOutLightBox && showLightboxProgress() }"></div>
<!-- ko if: showLightboxProgress --><!-- /ko -->
<!-- ko if: loadBannerLogo -->
<div data-bind="component: { name: 'logo-control',
params: {
isChinaDc: svr.fIsChinaDc,
bannerLogoUrl: bannerLogoUrl() } }"><!-- -->
<!-- ko if: bannerLogoUrl --><!-- /ko -->
<!-- ko if: !bannerLogoUrl && !isChinaDc && !isCiamUserFlowUx -->
<!-- ko component: 'accessible-image-control' --><!-- ko if: (isHighContrastBlackTheme || hasDarkBackground || svr.fHasBackgroundColor) && !isHighContrastWhiteTheme --><!-- /ko -->
<!-- ko if: (isHighContrastWhiteTheme || (!hasDarkBackground && !svr.fHasBackgroundColor)) && !isHighContrastBlackTheme -->
<!-- ko template: { nodes: [darkImageNode], data: $parent } --><img class="logo" role="img" pngsrc="https://aadcdn.msauth.net/shared/1.0/content/images/microsoft_logo_ea19b2112f4dfd8e90b4505ef7dcb4f9.png"
svgsrc="https://aadcdn.msauth.net/shared/1.0/content/images/microsoft_logo_564db913a7fa0ca42727161c6d031bef.svg" data-bind="imgSrc, attr: { alt: str['MOBILE_STR_Footer_Microsoft'] }"
src="https://aadcdn.msauth.net/shared/1.0/content/images/microsoft_logo_564db913a7fa0ca42727161c6d031bef.svg" alt="Microsoft"><!-- /ko -->
<!-- /ko --><!-- /ko -->
<!-- /ko -->
<!-- ko if: !bannerLogoUrl && isCiamUserFlowUx && bannerLogoText --><!-- /ko -->
</div>
<!-- /ko -->
<!-- ko if: svr.strLWADisclaimerMsg && paginationControlHelper.showLwaDisclaimer() --><!-- /ko -->
<!-- ko if: asyncInitReady -->
<div role="main" data-bind="component: { name: 'pagination-control',
publicMethods: paginationControlMethods,
params: {
enableCssAnimation: svr.fEnableCssAnimation,
disableAnimationIfAnimationEndUnsupported: svr.fDisableAnimationIfAnimationEndUnsupported,
initialViewId: initialViewId,
currentViewId: currentViewId,
initialSharedData: initialSharedData,
initialError: $loginPage.getServerError() },
event: {
cancel: paginationControl_onCancel,
load: paginationControlHelper.onLoad,
unload: paginationControlHelper.onUnload,
loadView: view_onLoadView,
showView: view_onShow,
setLightBoxFadeIn: view_onSetLightBoxFadeIn,
animationStateChange: paginationControl_onAnimationStateChange } }"><!-- -->
<div data-bind="css: { 'zero-opacity': hidePaginatedView() }" class="">
<!-- ko if: showIdentityBanner() && (sharedData.displayName || svr.sPOST_Username) --><!-- /ko -->
<div class="pagination-view animate slide-in-next" data-bind="css: {
'has-identity-banner': showIdentityBanner() && (sharedData.displayName || svr.sPOST_Username),
'zero-opacity': hidePaginatedView.hideSubView(),
'animate': animate(),
'slide-out-next': animate.isSlideOutNext(),
'slide-in-next': animate.isSlideInNext(),
'slide-out-back': animate.isSlideOutBack(),
'slide-in-back': animate.isSlideInBack() }">
<!-- ko foreach: views -->
<!-- ko if: $parent.currentViewIndex() === $index() -->
<!-- ko template: { nodes: [$data], data: $parent } -->
<div data-viewid="1" data-showfedcredbutton="true" data-bind="pageViewComponent: { name: 'login-paginated-username-view',
params: {
serverData: svr,
serverError: initialError,
isInitialView: isInitialState,
displayName: sharedData.displayName,
otherIdpRedirectUrl: sharedData.otherIdpRedirectUrl,
prefillNames: $loginPage.prefillNames,
flowToken: sharedData.flowToken,
availableSignupCreds: sharedData.availableSignupCreds,
customStrings: $loginPage.customStrings(),
isCustomizationFailure: $loginPage.isCustomStringsLoadFailure(),
userIdLabel: $loginPage.userIdLabel,
cantAccessYourAccountText: $loginPage.cantAccessYourAccountText,
hideAccountResetCredentials: $loginPage.hideAccountResetCredentials,
accessRecoveryLink: $loginPage.accessRecoveryLink,
boilerPlateText: $loginPage.boilerPlateText },
event: {
restoreIsRecoveryAttemptPost: $loginPage.view_onRestoreIsRecoveryAttemptPost,
redirect: $loginPage.view_onRedirect,
setPendingRequest: $loginPage.view_onSetPendingRequest,
registerDialog: $loginPage.view_onRegisterDialog,
unregisterDialog: $loginPage.view_onUnregisterDialog,
showDialog: $loginPage.view_onShowDialog,
updateAvailableCredsWithoutUsername: $loginPage.view_onUpdateAvailableCreds,
agreementClick: $loginPage.footer_agreementClick } }"><!-- -->
<!-- ko if: svr.fAllowLoginTextCustomizations -->
<div data-bind="component: { name: 'header-control',
params: {
serverData: svr,
title: customTitle() || str['WF_STR_HeaderDefault_Title'],
headerDescription: customDescription() } }">
<div>
<div class="row title ext-title" id="loginHeader" data-bind="externalCss: { 'title': true }">
<div role="heading" aria-level="1" data-bind="text: title">登录</div>
<!-- ko if: isSubtitleVisible --><!-- /ko -->
</div>
<!-- ko if: headerDescription --><!-- /ko -->
</div>
</div>
<!-- /ko -->
<!-- ko ifnot: svr.fAllowLoginTextCustomizations --><!-- /ko -->
<!-- ko if: pageDescription && !svr.fHideLoginDesc --><!-- /ko -->
<div class="row">
<div role="alert" aria-live="assertive">
<!-- ko if: usernameTextbox.error --><!-- /ko -->
</div>
<div class="form-group col-md-24">
<!-- ko if: prefillNames().length > 1 --><!-- /ko -->
<!-- ko ifnot: prefillNames().length > 1 -->
<div class="placeholderContainer" data-bind="component: { name: 'placeholder-textbox-field',
publicMethods: usernameTextbox.placeholderTextboxMethods,
params: {
serverData: svr,
hintText: svr.fEnableLivePreview ? userIdLabel : tenantBranding.unsafe_userIdLabel || str['STR_SSSU_Username_Hint'] || str['CT_PWD_STR_Email_Example'],
hintCss: 'placeholder' + (!svr.fAllowPhoneSignIn ? ' ltr_override' : '') },
event: {
updateFocus: usernameTextbox.textbox_onUpdateFocus } }"><!-- ko withProperties: { '$placeholderText': placeholderText } -->
<!-- ko template: { nodes: $componentTemplateNodes, data: $parent } -->
<input type="email" name="loginfmt" id="i0116" maxlength="113" class="form-control ltr_override input ext-input text-box ext-text-box" aria-required="true" data-report-event="Signin_Email_Phone_Skype"
data-report-trigger="click" data-report-value="Email_Phone_Skype_Entry" data-bind="
attr: { lang: svr.fApplyAsciiRegexOnInput ? null : 'en' },
externalCss: {
'input': true,
'text-box': true,
'has-error': usernameTextbox.error },
ariaLabel: tenantBranding.unsafe_userIdLabel || str['CT_PWD_STR_Username_AriaLabel'],
ariaDescribedBy: 'loginHeader' + (pageDescription && !svr.fHideLoginDesc ? ' loginDescription usernameError' : ' usernameError'),
textInput: usernameTextbox.value,
hasFocusEx: usernameTextbox.focused,
placeholder: $placeholderText,
autocomplete: svr.fIsUpdatedAutocompleteEnabled ? 'username' : null," aria-label="请输入电子邮件、电话或 Skype。" aria-describedby="loginHeader usernameError" placeholder="电子邮件、电话或 Skype">
<!-- ko if: svr.fIsUpdatedAutocompleteEnabled -->
<input name="passwd" type="password" id="i0118" data-bind="moveOffScreen, textInput: passwordBrowserPrefill" class="moveOffScreen" tabindex="-1" aria-hidden="true">
<!-- /ko -->
<!-- ko ifnot: svr.fIsUpdatedAutocompleteEnabled --><!-- /ko -->
<!-- /ko -->
<!-- /ko -->
<!-- ko ifnot: usePlaceholderAttribute --><!-- /ko -->
</div>
<!-- /ko -->
</div>
</div>
<div data-bind="css: { 'position-buttons': !tenantBranding.BoilerPlateText && !boilerPlateText }, externalCss: { 'password-reset-links-container': true }"
class="position-buttons password-reset-links-container ext-password-reset-links-container">
<div class="row">
<div class="col-md-24">
<div class="text-13">
<!-- ko if: svr.fCBShowSignUp && !svr.fDoIfExists && !svr.fCheckProofForAliases -->
<!-- ko if: svr.fIsSelfServiceSignupUxEnabled --><!-- /ko -->
<!-- ko ifnot: svr.fIsSelfServiceSignupUxEnabled -->
<div class="form-group" data-bind="
htmlWithBindings: html['WF_STR_SignUpLink_Text'],
childBindings: {
'signup': {
href: svr.urlSignUp || '#',
ariaLabel: svr.urlSignUp ? str['WF_STR_SignupLink_AriaLabel_Text'] : str['WF_STR_SignupLink_AriaLabel_Generic_Text'],
click: signup_onClick } }">没有帐户?
<a href="https://login.live.com/oauth20_authorize.srf?client_id=2793995e-0a7d-40d7-bd35-6968ba142197&scope=openid+profile+offline_access&redirect_uri=https%3a%2f%2flauncher.myapps.microsoft.com%2fapi%2fsignin-oidc&response_type=code&state=CfDJ8K5v73aU-vFNrt5DNRpJ53HNlI9FPnS0YBEIPwTXVtOccYFapMFOPU_0nOQlYU6Qv9zDmqRYy-veT_See9gMAlPYfuFu6ZEJYM1R1VtIIHZhoGkUp2a8m0LVq9Mm5j58-sBTANhvfxLkdl2bmq32V0HGHsyMet1DoohH5HyzRb_pCQc5INOnsNBcY22rWni6wUw_k9_aSnZ7fmXR4LTe4_SuTRxbqzRkDSzJiMR5x0qkgjUjtgtNGhKridXPFJVydPLe-kAJOv4JtSJxWbcVWHIDBLY-ILrHfEiuiNFNFbkb6HSbT_mJnagxXrCAH_xrJVXaaINoqhJKXPdcdXghELvAduBO1PF25yO7xeUr_wIwsGeX34a3D_2WcC01-GUs_-cZF1YT1K0JjaTXgXqNNL5_0prCuAHFJrtl2GFeTEAMgGJpJtL3M3OkinJKPBXEviOMWKZX_bNKg1_vxTQp8Is&response_mode=form_post&nonce=638403735814151282.MGViNmI4NzItMGQxNy00NzY0LWJmMDUtMWE3YTkxNzRmODY5ZDM0MmMzY2EtY2Q1Yi00NjI1LWIzNzAtNzUyNzg1ZTZkMThh&code_challenge=psrSlV6zHoCG-UlKBZIZm8wh7a9S3jhu3wnV2MsCg0I&code_challenge_method=S256&x-client-SKU=ID_NET6_0&x-client-Ver=6.35.0.0&uaid=ba946cdbe1354922bd9783b09bfa074c&msproxy=1&issuer=mso&tenant=common&ui_locales=zh-SG&client_info=1&signup=1&lw=1&fl=easi2&epct=PAQABAAEAAAAmoFfGtYxvRrNriQdPKIZ-nqMZSbI6ik9cb4HXzLsPSdjxMK4ohE17s2IVihiZ9cmhsDybNL92ij5BFCXkDCTNzm4a8FYH1eA86Oe1dU1lecpAymtHBY1gnDAgoqqyM8WZ2rP81Mp3Zdt78I_JHDiLL4nyoHNjtBvGzFqE26i7aJzI-kIH62ird433LUKlNOspgQP5icLvR2vyM_46lziGwE8Ub2hpENG0QsgrquffRiAA&jshs=0" id="signup" aria-label="创建 Microsoft 帐户">创建一个!</a>
</div>
<!-- /ko -->
<!-- /ko -->
<!-- ko ifnot: hideCantAccessYourAccount -->
<div class="form-group">
<a id="cantAccessAccount" name="cannotAccessAccount" data-bind="
text: svr.fEnableLivePreview ? cantAccessYourAccountText : unsafe_cantAccessYourAccountText,
click: accessRecoveryLink ? null : cantAccessAccount_onClick,
attr: { target: accessRecoveryLink && '_blank' },
href: accessRecoveryLink || '#'" href="#">无法访问您的帐户?</a>
</div>
<!-- /ko -->
<!-- ko if: showFidoLinkInline && hasFido() && (availableCredsWithoutUsername().length >= 2 || svr.fShowForgotUsernameLink || isOfflineAccountVisible) --><!-- /ko -->
<!-- ko if: svr.fEnableShowPickerCredObservable -->
<!-- ko if: showCredPicker() --><!-- /ko -->
<!-- /ko -->
<!-- ko ifnot: svr.fEnableShowPickerCredObservable --><!-- /ko -->
<!-- ko if: svr.urlSkipZtd --><!-- /ko -->
</div>
</div>
</div>
</div>
<!-- ko if: svr.fShowLegalMessagingInline --><!-- /ko -->
<div class="win-button-pin-bottom" data-bind="css : { 'boilerplate-button-bottom': tenantBranding.BoilerPlateText || boilerPlateText }">
<div class="row" data-bind="css: { 'move-buttons': tenantBranding.BoilerPlateText || boilerPlateText }">
<div data-bind="component: { name: 'footer-buttons-field',
params: {
serverData: svr,
isPrimaryButtonEnabled: !isRequestPending(),
isPrimaryButtonVisible: svr.fShowButtons,
isSecondaryButtonEnabled: true,
isSecondaryButtonVisible: svr.fShowButtons && isSecondaryButtonVisible(),
secondaryButtonText: secondaryButtonText() },
event: {
primaryButtonClick: primaryButton_onClick,
secondaryButtonClick: secondaryButton_onClick } }">
<div class="col-xs-24 no-padding-left-right button-container button-field-container ext-button-field-container" data-bind="
visible: isPrimaryButtonVisible() || isSecondaryButtonVisible(),
css: { 'no-margin-bottom': removeBottomMargin },
externalCss: { 'button-field-container': true }">
<!-- ko if: isSecondaryButtonVisible -->
<div data-bind="css: { 'inline-block': true }, externalCss: { 'button-item': true }" class="inline-block button-item ext-button-item">
<input type="button" id="idBtn_Back" class="win-button button-secondary button ext-button secondary ext-secondary" data-bind="
attr: { 'id': secondaryButtonId || 'idBtn_Back' },
externalCss: {
'button': true,
'secondary': true },
value: secondaryButtonText() || str['CT_HRD_STR_Splitter_Back'],
ariaDescribedBy: secondaryButtonDescribedBy,
hasFocus: focusOnSecondaryButton,
click: secondaryButton_onClick,
clickBubble: !svr.fEnableLivePreview,
enable: isSecondaryButtonEnabled" value="后退">
</div>
<!-- /ko -->
<div data-bind="css: { 'inline-block': isPrimaryButtonVisible }, externalCss: { 'button-item': true }" class="inline-block button-item ext-button-item">
<!-- type="submit" is needed in-addition to 'type' in primaryButtonAttributes observable to support IE8 -->
<input type="submit" id="idSIButton9" class="win-button button_primary button ext-button primary ext-primary" data-report-event="Signin_Submit" data-report-trigger="click" data-report-value="Submit" data-bind="
attr: primaryButtonAttributes,
externalCss: {
'button': true,
'primary': true },
value: primaryButtonText() || str['CT_PWD_STR_SignIn_Button_Next'],
hasFocus: focusOnPrimaryButton,
click: svr.fEnableLivePreview ? function() { } : primaryButton_onClick,
clickBubble: !svr.fEnableLivePreview,
enable: isPrimaryButtonEnabled,
visible: isPrimaryButtonVisible,
preventTabbing: primaryButtonPreventTabbing" value="下一步">
</div>
</div>
</div>
</div>
</div>
<!-- ko if: tenantBranding.BoilerPlateText || boilerPlateText --><!-- /ko -->
</div><!-- /ko -->
<!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- ko if: $parent.currentViewIndex() === $index() --><!-- /ko -->
<!-- /ko -->
</div>
</div>
</div>
<!-- /ko -->
<input type="hidden" name="ps" data-bind="value: postedLoginStateViewId" value="">
<input type="hidden" name="psRNGCDefaultType" data-bind="value: postedLoginStateViewRNGCDefaultType" value="">
<input type="hidden" name="psRNGCEntropy" data-bind="value: postedLoginStateViewRNGCEntropy" value="">
<input type="hidden" name="psRNGCSLK" data-bind="value: postedLoginStateViewRNGCSLK" value="">
<!-- ko if: svr.sCanaryTokenName && !svr.fSkipRenderingNewCanaryToken -->
<input type="hidden" data-bind="attr: { name: svr.sCanaryTokenName }, value: svr.canary" name="canary" value="8OSMUsOyjIMwDXYZ/MDk/5nlmi0tkepAXt/Ed+DfrxY=8:1:CANARY:Lc4YV0TdfJEvkYDggtWdRHK0n8rZggaWuiAYmZywViM=">
<!-- /ko -->
<!-- ko if: !svr.sCanaryTokenName || svr.fSkipRenderingNewCanaryToken --><!-- /ko -->
<input type="hidden" name="ctx" data-bind="value: ctx"
value="rQQIARAAnZO7j9sEAIeT5i69iwQ9AUIMIJ0oA2px4kecOCc6OHEc2_EjD9uxvViO3_EztvPyWgYkGDoggcoE402nTqgCiRGdkCgrnbp2QIipQgxc_wWWT_pJ3_j7GiedJoI2wSZ4rwY3wYuP4G4P6fVQGwCNrgW0QasLLC0EBTq9DrY0oDYM9brZW42z5-FXT9EXH9I_ff3w6tt_brOXVdQrijS_aLVCYxObnp01o4ORpnkz8s0syROnaJpJ1DJSv5X7buzHQOJb5g_V6rNq9fJW3kGwNoh0ERSD2hAKwRjc5Eayz0d0my_pghtN9_wBBPlSBdkFE3GEVHCLIaKKwZ4vZ5FAqKhGcCAXcaUKDwsVnkKqf-OvaIhd0CVf4gVfSge-dCFN1AJO9Lw_bt0R8E3hwa-RZH5p_33r1EmySE-TvHhce14bOASDjdFtFzEkYEvyWYES_CxlUITiQ7pHTuI5qPaH9GQnKnIhmKZKGilHChNJB2NhGqpSZ7rtlUS0nqkHYGuL-ty2ey6HhxPV2ZCbjjZkVA6aQXJB05TmJaNASmEDi0BWXve4CF2hGJD3RZz3ts6eDawQXkZrBJZBakTlB84uICJJPAqlDuVsqaeDqYnSvBDnfN9UYThbxH5nJ-30oKcb81jrOpEya7Oi3dbnG3G2X67LWUDMS8bnZugeXAfuSloVbsGPvHHmW8qEZOSDNWFtIMAZYdtmijmzXyxNeUHRRJ9VAZrNKGfob3ye5MllsOxQ86WoR0xsuHslG-CUvs8YWTEMmk_WHjNWJpZpKa43ZLe4tekL0ISE0YPQ3dtSpu_oXT6yFaRtIIQOL8wBCAEjKdcBUyMhVYTGILMyRMVV1jzPojqYZoMNTpFMVoTwiLTFIc65IyZlChbhECHwY2Y86SvDrS9wi7Gm6Et-7EL6di9OU4zOn9TqN3eMkvi69kGS2rFvnadZ4vihfZ44TujHtm6Ypp3nz46qL4_ePamf3X2vcl75-B2wdnFy0jirvF6vjqrfH9_U8PDJj7_c-1TEvxurv75_d3l8fdzChDkn5cJhRXM7QlG1FkcELTQOIx8sAjvFlaI1tO4TTrZXH2AX0KN69VH97ev6KU3o_FDs6OBf9erntytPT_9fV980qpeN-2mezUO5U1LJYARI4biv0VqE7byu0ZsjK2-D7GIZ5vKBC9JXjerPb1Revfnvl7__9sXjz_6kXt75hDXbqgyKlsMMt4FKuG6xsGbUGIyxTHNdY7HxcTXSDjvZ5x5cnVX-Aw2">
<input type="hidden" name="hpgrequestid" data-bind="value: svr.sessionId" value="c8bcb283-3c2a-4154-a14b-59cc1c236205">
<input type="hidden" id="i0327" data-bind="attr: { name: svr.sFTName }, value: flowToken" name="flowToken"
value="AQABAAEAAAAmoFfGtYxvRrNriQdPKIZ-jYj8h3cvy54hiJWToiX561osLKCBUKSNwv-g2Q--BPedi-ExPQOs3mNk5r4maoTXShc8iToa9DKBh1v-HlG9Ra7PprJHx01vWZ82FJrOSZ6N_uyRNHUtMDGzYAOrbCTvad5lxA77z0028nJtSbM6azjJ2ARrBvLi2f8SrzNHUhS6scWQCFUrJqqjt7IRrJUOmwDIR4jv7h9OoAe6DAmMar3Oe5zWfeqhC3x8Y6td8NHcU5betTU4QagYb1KMyx12EFocGhdb3HL_4G4g5K500iiC-T4FekEM_3MXH3uBUJOkicfqMpr_PDtx_rxdrNYCqChenArlD2pNq1SQak3igT4rLqvQmIWkjn-oDhmB_7bfBKodvySewono5acIRJymHdzxRYZ6yogjCwBvlxBdy4bSMJcy68EaB4_odWroU0hj6sWP9zzCZbOp0ksEVmheAs2li_iaCuqUEQfj5zzCSmUPBokne4gAoe5ndS66tOVIxT8prnrWnpt3zek8VNuM3mkip7e_FhH3KgW4zXO25edB7CAGRDReVB5IvHH10Vt_DG3dARYboVfcOgTDuKE1tsKkLflL3P0F2j-XGk5BnSDbsOq_j02zamQB2joBYQtsB_0F0THjcVXcrZ3naAqyIAA">
<input type="hidden" name="PPSX" data-bind="value: svr.sRandomBlob" value="">
<input type="hidden" name="NewUser" value="1">
<input type="hidden" name="FoundMSAs" data-bind="value: svr.sFoundMSAs" value="">
<input type="hidden" name="fspost" data-bind="value: svr.fPOST_ForceSignin ? 1 : 0" value="0">
<input type="hidden" name="i21" data-bind="value: wasLearnMoreShown() ? 1 : 0" value="0">
<input type="hidden" name="CookieDisclosure" data-bind="value: svr.fShowCookieBanner ? 1 : 0" value="0">
<input type="hidden" name="IsFidoSupported" data-bind="value: isFidoSupported() ? 1 : 0" value="1">
<input type="hidden" name="isSignupPost" data-bind="value: isSignupPost() ? 1 : 0" value="0">
<!-- ko ifnot: svr.fShouldSupportTargetCredentialForRecovery --><!-- /ko -->
<!-- ko if: svr.fShouldSupportTargetCredentialForRecovery && targetCredentialForRecovery() --><!-- /ko -->
<div data-bind="component: { name: 'instrumentation-control',
publicMethods: instrumentationMethods,
params: { serverData: svr } }">
<input type="hidden" name="i19" data-bind="value: timeOnPage" value="">
</div>
<!-- /ko -->
</div>
<!-- ko if: $page.showFedCredAndNewSession -->
<!-- ko ifnot: svr.fUsePromotedFedCredTypesArray --><!-- /ko -->
<!-- ko if: svr.fUsePromotedFedCredTypesArray -->
<!-- ko if: $page.showFedCredButtons -->
<div data-bind="component: { name: 'fed-cred-buttons-control',
params: {
serverData: svr,
fedCredOptions: $page.otherSigninOptions },
event: {
fedCredButtonClick: $page.otherSigninOptionsButton_onClick } }"><!-- -->
<!-- ko withProperties: { '$fedCredButtonsControl': $data } -->
<div data-bind="css: { 'app': $page.backgroundLogoUrl }, externalCss: { 'promoted-fed-cred-box': true }" class="promoted-fed-cred-box ext-promoted-fed-cred-box">
<div class="promoted-fed-cred-content" data-bind="css: {
'animate': $page.useCssAnimations && $page.animate(),
'slide-out-next': $page.animate.isSlideOutNext,
'slide-in-next': $page.animate.isSlideInNext,
'slide-out-back': $page.animate.isSlideOutBack,
'slide-in-back': $page.animate.isSlideInBack,
'app': $page.backgroundLogoUrl }">
<!-- ko foreach: $fedCredButtonsControl.fedCredOptions -->
<div class="row tile">
<div class="table" role="button" tabindex="0" data-bind="
css: { 'list-item': svr.fSupportWindowsStyles },
pressEnter: $fedCredButtonsControl.fedCredButton_onClick,
click: $fedCredButtonsControl.fedCredButton_onClick,
ariaLabel: $data.text" aria-label="登录选项">
<div class="table-row">
<div class="table-cell tile-img medium">
<!-- ko component: 'accessible-image-control' --><!-- ko if: (isHighContrastBlackTheme || hasDarkBackground || svr.fHasBackgroundColor) && !isHighContrastWhiteTheme --><!-- /ko -->
<!-- ko if: (isHighContrastWhiteTheme || (!hasDarkBackground && !svr.fHasBackgroundColor)) && !isHighContrastBlackTheme -->
<!-- ko template: { nodes: [darkImageNode], data: $parent } --><img class="tile-img medium" role="presentation" data-bind="imgSrc, attr: { src: $data.darkIconUrl }"
src="https://aadcdn.msauth.net/shared/1.0/content/images/signin-options_3e3f6b73c3f310c31d2c4d131a8ab8c6.svg"><!-- /ko -->
<!-- /ko --><!-- /ko -->
</div>
<div class="table-cell text-left content" data-bind="css: { 'content': !svr.fSupportWindowsStyles }">
<div data-bind="
text: $data.text,
attr: { 'data-test-id': $data.testId }" data-test-id="signinOptions">登录选项</div>
</div>
</div>
</div>
</div>
<!-- /ko -->
</div>
</div>
<!-- /ko -->
</div>
<!-- /ko -->
<!-- ko if: $page.showSignupFedCredButtons --><!-- /ko -->
<!-- /ko -->
<!-- ko if: $page.newSession --><!-- /ko -->
<!-- /ko -->
<!-- ko if: $page.showDebugDetails --><!-- /ko -->
</div>
</div>
<!-- /ko -->
</div>
</div>
</div>
<!-- ko if: $page.paginationControlHelper.showFooterControl -->
<div id="footer" role="contentinfo" data-bind="
externalCss: {
'footer': true,
'has-background': !$page.useDefaultBackground() && $page.showFooter(),
'background-always-visible': $page.backgroundLogoUrl }" class="footer ext-footer">
<div data-bind="component: { name: 'footer-control',
publicMethods: $page.footerMethods,
params: {
serverData: svr,
useDefaultBackground: $page.useDefaultBackground(),
hasDarkBackground: $page.backgroundLogoUrl(),
showLinks: true,
showFooter: $page.showFooter(),
hideTOU: $page.hideTOU(),
termsText: $page.termsText(),
termsLink: $page.termsLink(),
hidePrivacy: $page.hidePrivacy(),
privacyText: $page.privacyText(),
privacyLink: $page.privacyLink() },
event: {
agreementClick: $page.footer_agreementClick,
showDebugDetails: $page.toggleDebugDetails_onClick } }"><!-- ko if: !hideFooter && (showLinks || impressumLink || showIcpLicense) -->
<div id="footerLinks" class="footerNode text-secondary footer-links ext-footer-links" data-bind="externalCss: { 'footer-links': true }">
<!-- ko if: showFooter -->
<!-- ko if: !hideTOU -->
<a id="ftrTerms" data-bind="
text: termsText,
href: termsLink,
click: termsLink_onClick,
externalCss: {
'footer-content': true,
'footer-item': true,
'has-background': !useDefaultBackground,
'background-always-visible': hasDarkBackground }" href="https://www.microsoft.com/zh-SG/servicesagreement/" class="footer-content ext-footer-content footer-item ext-footer-item">使用条款</a>
<!-- /ko -->
<!-- ko if: !hidePrivacy -->
<a id="ftrPrivacy" data-bind="
text: privacyText,
href: privacyLink,
click: privacyLink_onClick,
externalCss: {
'footer-content': true,
'footer-item': true,
'has-background': !useDefaultBackground,
'background-always-visible': hasDarkBackground }" href="https://privacy.microsoft.com/zh-SG/privacystatement" class="footer-content ext-footer-content footer-item ext-footer-item">隐私与 Cookie</a>
<!-- /ko -->
<!-- ko if: impressumLink --><!-- /ko -->
<!-- ko if: a11yConformeLink --><!-- /ko -->
<!-- ko if: showIcpLicense --><!-- /ko -->
<!-- /ko -->
<!-- Set attr binding before hasFocusEx to prevent Narrator from losing focus -->
<a id="moreOptions" href="#" role="button" data-bind="
click: moreInfo_onClick,
ariaLabel: str['CT_STR_More_Options_Ellipsis_AriaLabel'],
attr: { 'aria-expanded': showDebugDetails().toString() },
hasFocusEx: focusMoreInfo(),
externalCss: {
'footer-content': true,
'footer-item': true,
'debug-item': true,
'has-background': !useDefaultBackground,
'background-always-visible': hasDarkBackground }" aria-label="单击此处获取疑难解答信息" aria-expanded="false" class="footer-content ext-footer-content footer-item ext-footer-item debug-item ext-debug-item">...</a>
</div>
<!-- /ko -->
<!-- ko if: svr.fShowLegalMessagingInline && showLinks --><!-- /ko -->
</div>
</div>
<!-- /ko -->
</div>
<!-- /ko -->
</div>
<!-- /ko -->
<!-- ko if: isVerticalSplitTemplate() && isTemplateLoaded() --><!-- /ko -->
<!-- /ko -->
<!-- /ko -->
</div>
<!-- /ko -->
</form>
POST
<form data-bind="postRedirectForm: postRedirect" method="POST" aria-hidden="true" target="_top"></form>
Text Content
登录 没有帐户? 创建一个! 无法访问您的帐户? 登录选项 使用条款 隐私与 Cookie ...