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

Submitted URL: https://t.infoemail.microsoft.com/r/?id=h1b3610e1,10cf68f9,10cf68fe&e=b2NpZD0&s=-xKcWAaADgAu2Z4SmYs6jwas7OKNOkDGM7sMUHnV-FY
Effective URL: https://login.live.com/oauth20_authorize.srf?client_id=9c941f7c-a811-4e9c-8e66-29fdec50490f&scope=openid+profile+offlin...
Submission: On April 25 via manual from SG — Scanned from SG

Form analysis 2 forms found in the DOM

Name: f1POST https://login.live.com/ppsecure/post.srf?client_id=9c941f7c-a811-4e9c-8e66-29fdec50490f&cobrandid=03c8bbb5-2dff-4721-8261-a4ccff24c81a&contextid=6037D6F6EE5102DD&opid=F18C95736CAB6E21&bk=1682448812&uaid=d06429b810f646bcafa2ae77bf22121a&pid=15216

<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.cm }"
  action="https://login.live.com/ppsecure/post.srf?client_id=9c941f7c-a811-4e9c-8e66-29fdec50490f&amp;cobrandid=03c8bbb5-2dff-4721-8261-a4ccff24c81a&amp;contextid=6037D6F6EE5102DD&amp;opid=F18C95736CAB6E21&amp;bk=1682448812&amp;uaid=d06429b810f646bcafa2ae77bf22121a&amp;pid=15216"
  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.F,
            showFooterLinks: true,
            useWizardBehavior: svr.bd,
            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.cm }"
      class="provide-min-height"><!--  -->
      <div id="lightboxBackgroundContainer" data-bind="css: { 'provide-min-height': svr.cN },
    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 -->
          <div class="background-image-small" data-bind="backgroundImage: smallImageUrl()"
            style="background-image: url(&quot;https://logincdn.msftauth.net/shared/1.0/content/images/appbackgrounds/55-small_12546da3840024e711aadb226feba380.jpg&quot;);"></div>
          <!-- /ko -->
          <!-- ko if: backgroundImageUrl -->
          <!-- ko if: svr.fUseAltText --><!-- /ko -->
          <!-- ko ifnot: svr.fUseAltText -->
          <div id="backgroundImage" data-bind="backgroundImage: backgroundImageUrl(), externalCss: { 'background-image': true }" class="background-image ext-background-image"
            style="background-image: url(&quot;https://logincdn.msftauth.net/shared/1.0/content/images/appbackgrounds/55_07ad3566d3997f8a37b761e33f247820.jpg&quot;);"></div>
          <!-- /ko -->
          <!-- ko if: useImageMask --><!-- /ko -->
          <!-- /ko -->
        </div>
      </div>
      <!-- ko if: svr.cR --><!-- /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() } }"><!--  -->
              <!-- 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 &amp;&amp; ($page.showFedCredButtons() || $page.newSession()),
                'transparent-lightbox': $page.backgroundControlMethods() &amp;&amp; $page.backgroundControlMethods().useTransparentLightBox,
                'lightbox-bottom-margin-debug': $page.showDebugDetails }" class="sign-in-box ext-sign-in-box fade-in-lightbox has-popup">
                    <!-- ko template: { nodes: $masterPageContext.$componentTemplateNodes, data: $page } -->
                    <!-- ko if: svr.Bx --><!-- /ko -->
                    <div class="lightbox-cover" data-bind="css: { 'disable-lightbox': svr.CE &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: svr.fUseNonMicrosoftDefaultBrandingForCiam --><!-- /ko -->
                      <!-- ko ifnot: svr.fUseNonMicrosoftDefaultBrandingForCiam -->
                      <!-- ko if: !bannerLogoUrl && !isChinaDc -->
                      <!-- 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://logincdn.msftauth.net/shared/1.0/content/images/microsoft_logo_ed9c9eb0dce17d752bedea6b5acda6d9.png"
                        svgsrc="https://logincdn.msftauth.net/shared/1.0/content/images/microsoft_logo_ee5c8d9fb6248c938fd0dc19370e90bd.svg" data-bind="imgSrc, attr: { alt: str['MOBILE_STR_Footer_Microsoft'] }"
                        src="https://logincdn.msftauth.net/shared/1.0/content/images/microsoft_logo_ee5c8d9fb6248c938fd0dc19370e90bd.svg" alt="Microsoft"><!-- /ko -->
                      <!-- /ko --><!-- /ko -->
                      <!-- /ko -->
                      <!-- /ko -->
                    </div>
                    <!-- /ko -->
                    <!-- ko if: svr.Dh && paginationControlHelper.showLwaDisclaimer() --><!-- /ko -->
                    <!-- ko if: asyncInitReady -->
                    <div role="main" data-bind="component: { name: 'pagination-control',
            publicMethods: paginationControlMethods,
            params: {
                enableCssAnimation: svr.a7,
                disableAnimationIfAnimationEndUnsupported: svr.Ck,
                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.i) --><!-- /ko -->
                        <div class="pagination-view animate slide-in-next" data-bind="css: {
        'has-identity-banner': showIdentityBanner() &amp;&amp; (sharedData.displayName || svr.i),
        '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() },
                event: {
                    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 -->
                                  <div data-bind="text: subtitle || str['WF_STR_App_Title'], externalCss: { 'subtitle': true }" class="subtitle ext-subtitle">继续到 Microsoft Rewards</div>
                                  <!-- /ko -->
                                </div>
                                <!-- ko if: headerDescription --><!-- /ko -->
                              </div>
                            </div>
                            <!-- /ko -->
                            <!-- ko ifnot: svr.fAllowLoginTextCustomizations --><!-- /ko -->
                            <!-- ko if: pageDescription && !svr.CO --><!-- /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: tenantBranding.unsafe_userIdLabel || str['STR_SSSU_Username_Hint'] || str['CT_PWD_STR_Email_Example'],
                hintCss: 'placeholder' + (!svr.aZ ? ' 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.a1 ? 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 &amp;&amp; !svr.CO ? ' 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" data-report-attached="1">
                                  <!-- 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 }, 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.AY && !svr.AI && !svr.a3 -->
                                    <!-- ko if: svr.AK --><!-- /ko -->
                                    <!-- ko ifnot: svr.AK -->
                                    <div class="form-group" data-bind="
                    htmlWithBindings: html['WF_STR_SignUpLink_Text'],
                    childBindings: {
                        'signup': {
                            href: svr.j || '#',
                            ariaLabel: svr.j ? str['WF_STR_SignupLink_AriaLabel_Text'] : str['WF_STR_SignupLink_AriaLabel_Generic_Text'],
                            click: signup_onClick } }">
                                      没有帐户?<a href="https://signup.live.com/signup?client_id=9c941f7c-a811-4e9c-8e66-29fdec50490f&amp;cobrandid=03c8bbb5-2dff-4721-8261-a4ccff24c81a&amp;contextid=6037D6F6EE5102DD&amp;opid=F18C95736CAB6E21&amp;bk=1682448812&amp;sru=https://login.live.com/oauth20_authorize.srf%3fclient_id%3d9c941f7c-a811-4e9c-8e66-29fdec50490f%26cobrandid%3d03c8bbb5-2dff-4721-8261-a4ccff24c81a%26client_id%3d9c941f7c-a811-4e9c-8e66-29fdec50490f%26cobrandid%3d03c8bbb5-2dff-4721-8261-a4ccff24c81a%26contextid%3d6037D6F6EE5102DD%26opid%3dF18C95736CAB6E21%26mkt%3dZH-SG%26lc%3d4100%26bk%3d1682448812%26uaid%3dd06429b810f646bcafa2ae77bf22121a&amp;uiflavor=web&amp;lic=1&amp;mkt=ZH-SG&amp;lc=4100&amp;uaid=d06429b810f646bcafa2ae77bf22121a" id="signup" aria-label="创建 Microsoft 帐户">创建一个!</a>
                                    </div>
                                    <!-- /ko -->
                                    <!-- /ko -->
                                    <!-- ko ifnot: hideCantAccessYourAccount --><!-- /ko -->
                                    <!-- ko if: showFidoLinkInline && hasFido() && (availableCredsWithoutUsername().length >= 2 || svr.AL || isOfflineAccountVisible) -->
                                    <div class="form-group">
                                      <a id="idA_PWD_SwitchToFido" name="switchToFido" href="#" data-bind="
                        text: fidoLinkText,
                        click: switchToFidoCredLink_onClick">使用安全密钥登录</a>
                                      <!-- ko component: { name: 'fido-help-button-control',
                        params: {
                            isPlatformAuthenticatorAvailable: isPlatformAuthenticatorAvailable() },
                        event: {
                            registerDialog: onRegisterDialog,
                            unregisterDialog: onUnregisterDialog,
                            showDialog: onShowDialog } } --><!--  -->
                                      <span class="help-button" role="button" tabindex="0" data-bind="
    click: fidoHelp_onClick,
    pressEnter: fidoHelp_onClick,
    hasFocus: hasFocus,
    ariaLabel: isPlatformAuthenticatorAvailable ? str['CT_STR_CredentialPicker_Help_Desc_Fido'] : str['CT_STR_CredentialPicker_Help_Desc_FidoCrossPlatform']" aria-label="详细了解如何使用安全密钥登录">
                                        <!-- 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 role="presentation" pngsrc="https://logincdn.msftauth.net/shared/1.0/content/images/documentation_9628e22a6bfb1edc59e81064a666b614.png"
                                          svgsrc="https://logincdn.msftauth.net/shared/1.0/content/images/documentation_bcb4d1dc4eae64f0b2b2538209d8435a.svg" data-bind="imgSrc"
                                          src="https://logincdn.msftauth.net/shared/1.0/content/images/documentation_bcb4d1dc4eae64f0b2b2538209d8435a.svg"><!-- /ko -->
                                        <!-- /ko --><!-- /ko -->
                                      </span>
                                      <div data-bind="component: { name: 'fido-help-dialog-content-control',
    params: {
        isPlatformAuthenticatorAvailable: isPlatformAuthenticatorAvailable },
    event: {
        registerDialog: onRegisterDialog,
        unregisterDialog: onUnregisterDialog } }"><!--  -->
                                        <div data-bind="component: { name: 'dialog-content-control',
    params: {
        dialogId: 1,
        data: {
            labelledBy: 'fidoDialogTitle',
            describedBy: 'fidoDialogDesc fidoDialogDesc2',
            primaryButtonPreventTabbing: { direction: 'down' },
            isPlatformAuthenticatorAvailable: isPlatformAuthenticatorAvailable } },
    event: {
        registerDialog: onRegisterDialog,
        unregisterDialog: onUnregisterDialog } }"><!-- --></div>
                                      </div><!-- /ko -->
                                    </div>
                                    <!-- /ko -->
                                    <!-- ko if: svr.Ba --><!-- /ko -->
                                    <!-- ko ifnot: svr.Ba -->
                                    <!-- ko if: showCredPicker --><!-- /ko -->
                                    <!-- /ko -->
                                    <!-- ko if: svr.av --><!-- /ko -->
                                  </div>
                                </div>
                              </div>
                            </div>
                            <!-- ko if: svr.cB --><!-- /ko -->
                            <div class="win-button-pin-bottom" data-bind="css : { 'boilerplate-button-bottom': tenantBranding.BoilerPlateText }">
                              <div class="row" data-bind="css: { 'move-buttons': tenantBranding.BoilerPlateText }">
                                <div data-bind="component: { name: 'footer-buttons-field',
            params: {
                serverData: svr,
                isPrimaryButtonEnabled: !isRequestPending(),
                isPrimaryButtonVisible: svr.F,
                isSecondaryButtonEnabled: true,
                isSecondaryButtonVisible: svr.F &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 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: primaryButton_onClick,
                enable: isPrimaryButtonEnabled,
                visible: isPrimaryButtonVisible,
                preventTabbing: primaryButtonPreventTabbing" value="下一步" data-report-attached="1">
                                    </div>
                                  </div>
                                </div>
                              </div>
                            </div>
                            <!-- ko if: tenantBranding.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 -->
                        </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.AQ && !svr.fSkipRenderingNewCanaryToken --><!-- /ko -->
                    <!-- ko if: !svr.AQ || svr.fSkipRenderingNewCanaryToken -->
                    <input type="hidden" name="canary" data-bind="value: svr.canary" value="">
                    <!-- /ko -->
                    <input type="hidden" name="ctx" data-bind="value: ctx" value="">
                    <input type="hidden" name="hpgrequestid" data-bind="value: svr.sessionId" value="">
                    <input type="hidden" id="i0327" data-bind="attr: { name: svr.bp }, value: flowToken" name="PPFT"
                      value="DSQCisrYENoJx0tIfyte0AQDKigzkNpDSdL3XCTjO23ZdbbU3PIdnE!*lwQPryYlaK5JFkpjv4PNGSMwzdzFCvDXc6PtDN7VID6H3cwFMlvho2q3n53pmY3JRMU8QKENvFRL1lUJSXgS1cCqBm0tbePMRs612!ZiCRZels0QPVomqX7zttjwt*US!kiIQIftG8LYBtKKOus31oSrUE7rMyc$">
                    <input type="hidden" name="PPSX" data-bind="value: svr.Dd" value="Pa">
                    <input type="hidden" name="NewUser" value="1">
                    <input type="hidden" name="FoundMSAs" data-bind="value: svr.Ar" 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.Bx ? 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 -->
                    <input type="hidden" name="isRecoveryAttemptPost" data-bind="value: isRecoveryAttemptPost() ? 1 : 0" value="0">
                    <!-- /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 if: $page.showFedCredButtons -->
                  <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 &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 foreach: $page.otherSigninOptions -->
                      <div class="row tile">
                        <div class="table" role="button" tabindex="0" data-bind="
                        css: { 'list-item': svr.cj },
                        pressEnter: $page.otherSigninOptionsButton_onClick,
                        click: $page.otherSigninOptionsButton_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="attr: { src: $data.darkIconUrl }"
                                src="https://logincdn.msftauth.net/shared/1.0/content/images/signin-options_4e48046ce74f4b89d45037c90576bfac.svg"><!-- /ko -->
                              <!-- /ko --><!-- /ko -->
                            </div>
                            <div class="table-cell text-left content" data-bind="css: { 'content': !svr.cj }">
                              <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 -->
                  <!-- /ko -->
                  <!-- ko if: svr.fUsePromotedFedCredTypesArray --><!-- /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">
          <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://login.live.com/gls.srf?urlID=WinLiveTermsOfUse&amp;mkt=ZH-SG&amp;uaid=d06429b810f646bcafa2ae77bf22121a" class="footer-content ext-footer-content footer-item ext-footer-item has-background ext-has-background">使用条款</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://login.live.com/gls.srf?urlID=MSNPrivacyStatement&amp;mkt=ZH-SG&amp;uaid=d06429b810f646bcafa2ae77bf22121a" class="footer-content ext-footer-content footer-item ext-footer-item has-background ext-has-background">隐私和 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">...</a>
            </div>
            <!-- /ko -->
            <!-- ko if: svr.cB && 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

登录
继续到 Microsoft Rewards

没有帐户?创建一个!
使用安全密钥登录



登录选项
使用条款 隐私和 cookie ...