login.microsoftonline.com Open in urlscan Pro
2603:1047:1:168::20  Public Scan

Submitted URL: http://substrate.office.com/
Effective URL: https://login.microsoftonline.com/common/oauth2/authorize?client_id=00000002-0000-0ff1-ce00-000000000000&redirect_uri=https%3a%2f%...
Submission: On May 23 via manual from SG — Scanned from SG

Form analysis 2 forms found in the DOM

Name: f1POST https://login.microsoftonline.com/common/login

<form name="f1" id="i0281" novalidate="novalidate" spellcheck="false" method="post" target="_top" autocomplete="off"
  data-bind="visible: !isLoginPageHidden(), 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 app" role="presentation" data-bind="css: { app: isAppBranding }, style: { background: backgroundStyle }">
          <!-- ko if: smallImageUrl -->
          <div class="background-image-small" data-bind="backgroundImage: smallImageUrl()" style="background-image: url(&quot;https://aadcdn.msauth.net/shared/1.0/content/images/appbackgrounds/49-small_2055002f2daae2ed8f69f03944c0e5d9.jpg&quot;);">
          </div>
          <!-- /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(&quot;https://aadcdn.msauth.net/shared/1.0/content/images/appbackgrounds/49_6ffe0a92d779c878835b40171ffc2e13.jpg&quot;);"></div>
          <!-- ko if: useImageMask --><!-- /ko -->
          <!-- /ko -->
        </div>
      </div>
      <!-- ko if: svr.iBannerEnvironment --><!-- /ko -->
      <!-- ko withProperties: { '$masterPageContext': $parentContext } -->
      <div class="outer app" 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 -->
                <div class="background-logo-holder">
                  <img class="background-logo" role="presentation" data-bind="attr: { src: $page.backgroundLogoUrl }" src="https://aadcdn.msauth.net/shared/1.0/content/images/applogos/53_7a3c80bf9694448bac31a9589d2e9e92.png">
                </div>
                <!-- /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 &amp;&amp; ($page.showFedCredButtons() || $page.newSession()),
                'transparent-lightbox': $page.backgroundControlMethods() &amp;&amp; $page.backgroundControlMethods().useTransparentLightBox,
                'lightbox-bottom-margin-debug': $page.showDebugDetails,
                'has-header': $content.hasHeader }" class="sign-in-box ext-sign-in-box app 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 &amp;&amp; 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() &amp;&amp; (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,
                    updateDFPUrl: $loginPage.view_onUpdateDFPUrl,
                    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 -->
                                  <div data-bind="text: subtitle || str['WF_STR_App_Title'], externalCss: { 'subtitle': true }" class="subtitle ext-subtitle">继续到 Outlook</div>
                                  <!-- /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',
                            autocomplete: svr.fIsUpdatedAutocompleteEnabled ? 'username' : null },
                    externalCss: {
                        'input': true,
                        'text-box': true,
                        'has-error': usernameTextbox.error },
                    ariaLabel: tenantBranding.unsafe_userIdLabel || str['CT_PWD_STR_Username_AriaLabel'],
                    ariaDescribedBy: 'loginHeader' + (pageDescription &amp;&amp; !svr.fHideLoginDesc ? ' loginDescription usernameError' : ' usernameError'),
                    textInput: usernameTextbox.value,
                    hasFocusEx: usernameTextbox.focused,
                    placeholder: $placeholderText" autocomplete="username" 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 &amp;&amp; !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://substrate.office.com/owa/" 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 &amp;&amp; '_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 &amp;&amp; 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 --><!-- /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 high-contrast-overrides button ext-button primary ext-primary" data-report-event="Signin_Submit" data-report-trigger="click"
                                        data-report-value="Submit" data-bind="
                attr: primaryButtonAttributes,
                css: { 'high-contrast-overrides': svr.fUseHighContrastOverrides },
                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 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="0YS05I1hgwt+c8yCJNZOqA0S2iTNXrdm3BPQ3svGzWc=6:1:CANARY:qRsvcVx8N+e1mbx9k+JX6YU5hyxvsUz5vD5NDQBtgmo=">
                    <!-- /ko -->
                    <!-- ko if: !svr.sCanaryTokenName || svr.fSkipRenderingNewCanaryToken --><!-- /ko -->
                    <input type="hidden" name="ctx" data-bind="value: ctx"
                      value="rQQIARAA02I21DO0UjGAACNdEKlrkJZmqJucCmIhgSIhLgHZS1Y-Jnu3v-l7yVn-y0_k5ypGxYySkoJiK3394tKk4pKixJJUvfy0tMzkVL3k_Fz9_PJE_R2MjBcYGV8wMq5iMjcztjA1MjA2szA1MzY1s7A0M9MzNkxLNjU2MtO1MDVJ0TUxSjPStUgxNNM1SU41MU8zSTMwTDa4xcTv71hakmEEIvKLMqtSPzFxpuUX5cYX5BeXzGKOd0kuNnfNd0x3cXQKMghwNcmOckyzCEn3z_VLCjYzLctMSko1zPHxzvMJi_DNcfcoDi7Oyk0srMrNsczzCkiMrHRPyvJ2LHRNt_AL9YtyMakMTPcxr_AqKjNIMS9LyrJYxUxUCG1iZgN6Ojc_7xQzW35Bal5mygUWxgcsjK9YeAyYrTg4uAQYJBgUGH6wMC5iBQbm6mvffe13ibr2Rcn2ftvAyHCKVd8gMtjA1NMwI728RDvZotLZyy_Kv9DRINgoM8Qvoigl19gpINC4uMy9KjzZ1szKcAIb4wQ2tl1snBzMAgxKzM4Bhi_YGD-wMXawM-ziJBwzF7gZb_GYcLEl5yRm5hYLaVUrZabEl-Rnp-YpWVUrVeQWxycng1hliTmlqcVKVtFKQBuUYmtraw_wMvzge3Lk7tZjd-a983jFr1MYVFyWHFZh4aedapibVGGZre0VYRYZappRWVFWHFplWuZi6ucS6FSSnptvu0GAAQA1">
                    <input type="hidden" name="hpgrequestid" data-bind="value: svr.sessionId" value="4df7d6ab-ba3f-4515-8e5a-1d8df6b00100">
                    <input type="hidden" id="i0327" data-bind="attr: { name: svr.sFTName }, value: flowToken" name="flowToken"
                      value="AQABIQEAAADnfolhJpSnRYB1SVj-Hgd84gkZYkx7wQb7tC-BDlGeiLf20YRRMFxoCSS6v3FQbEkGs7kpIHXIKeU4NwSMnwjoiky4KFTfol7cgCfIa898YWHA-sE-RZKPCnCSM0KcYGbRd3eJHnwFgyJSWCd5qfXGW8AlDLHLKUuDq-1ZGnfeaia4-NfLpM-eW6KmNnLNWWM3Me-h2Y7C5lDVUNKfUvUlt9d8F2XH0lrBhapuNxkH5Pxpu40aMcI4_Od0imzIjDnwWnJ5fN6j8MSsdrvQQdFWPkFH-Zdy6ln1dh3tJGwGNRFudq6GGou7HeUHVvQb7qvhU8TseoWm6os5zcvhoT1w-oiDJFKlfLDKOmqhmE6x4O5JU-U4j8yUrIgq-V_O_YW2KIN6yNKrnRoGebEqVFM_xHsDJTeN9QZ3uUoQX3LiLM5RIQGgRwR3hvwYWBNCnpSDwD64ZMgHUW32IwmK6_xltYk4N7aix5MiMS-SN9AOSyAA">
                    <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.fEnableDFPIntegration -->
                    <input type="hidden" name="DfpArtifact" data-bind="value: dfpResult()" value="">
                    <!-- /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="app promoted-fed-cred-box ext-promoted-fed-cred-box">
                      <div class="promoted-fed-cred-content app" data-bind="css: {
        'animate': $page.useCssAnimations &amp;&amp; $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 ifnot: svr.fIsQrCodePinSupported -->
                        <!-- 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="addEventHandlers, 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 -->
                        <!-- /ko -->
                        <!-- ko if: svr.fIsQrCodePinSupported --><!-- /ko -->
                      </div>
                    </div>
                    <!-- /ko -->
                  </div>
                  <!-- /ko -->
                  <!-- ko if: $page.showSignupFedCredButtons --><!-- /ko -->
                  <!-- /ko -->
                  <!-- ko if: svr.fIsQrCodePinSupported --><!-- /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() &amp;&amp; $page.showFooter(),
            'background-always-visible': $page.backgroundLogoUrl }" class="footer ext-footer has-background ext-has-background background-always-visible ext-background-always-visible">
          <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 has-background ext-has-background background-always-visible ext-background-always-visible">使用条款</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 has-background ext-has-background background-always-visible ext-background-always-visible">隐私与 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 has-background ext-has-background background-always-visible ext-background-always-visible">...</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

登录
继续到 Outlook

没有帐户? 创建一个!
无法访问您的帐户?


登录选项
使用条款 隐私与 Cookie ...