Language: HTML | XAML

Anforderungen an die Anmeldung mit Microsoft-Konten (XAML)

Applies to Windows and Windows Phone

Ihre Windows Store-Apps mit C++, C# oder Visual Basic können Benutzer mithilfe des jeweiligen Microsoft-Kontos an- und abmelden, um auf Daten in Microsoft-Cloud-Diensten wie Outlook.com und Microsoft OneDrive zugreifen zu können.

Orientieren Sie bei der Gestaltung der An- und Abmeldeoberfläche Ihrer App an den folgenden Richtlinien, damit die Benutzeroberfläche mit anderen Windows Store-Apps konsistent ist. Diese Richtlinien tragen auch zum Schutz der Daten des Benutzers bei.

Übersicht

Um auf Daten des Benutzers in Microsoft-Cloud-Diensten wie Outlook.com und OneDrive zugreifen zu können, müssen sich Benutzer mit ihrem Microsoft-Konto anmelden und zustimmen, dass die App auf die benötigten Daten zugreift. Ihre Windows Store-App sollte dem Benutzer auch die Möglichkeit bieten, sich von der App abzumelden, damit andere Benutzer des PCs nicht auf seine Daten zugreifen können. In diesem Thema erfahren Sie, wie Sie dies umsetzen können.

Wichtig  Steht dem Benutzer in Ihrer App keine Option zum Abmelden zur Verfügung, kann die App auf die Daten des Benutzers zugreifen, wann immer die App mit dem Benutzerkonto geöffnet wird, das zur erstmaligen Anmeldung verwendet wurde. Für Benutzer, die ihren PC nicht verlieren und nie mit anderen teilen, ist das zwar sehr bequem. Wird der PC aber gestohlen oder von Dritten verwendet, stellt dies ein mögliches Sicherheitsrisiko dar. Aus diesen Gründen sollte in Ihrer Windows Store-App immer ein entsprechender Hinweis angezeigt werden, wenn die App bei einem Benutzerkonto angemeldet ist, und es muss eine Option verfügbar sein, über die sich der Benutzer abmelden kann.

In den folgenden Schritten wird kurz erläutert, wie die App auf die Profilinformationen des Benutzers zugreifen kann. Ausführliche Anweisungen finden Sie hier.

  1. Hinzufügen der erforderlichen Einstellungsbefehle zur App

    Wenn es sich bei Ihrer App um eine Windows Store-App handelt, die Microsoft-Cloud-Dienste wie Outlook.com und OneDrive nutzt, müssen im Bereich Einstellungen die beiden folgenden Einträge vorhanden sein.

    • Konto

      Der Befehl Konto im Bereich Einstellungen öffnet das Flyout, in dem sich Benutzer bei ihrem Microsoft-Konto an- und abmelden können.

    • Datenschutzbestimmungen

      Der Befehl Datenschutzbestimmungen im Bereich Einstellungen öffnet das Flyout mit den Datenschutzbestimmungen Ihrer App. Da Ihre App auf persönliche Daten der Benutzer zugreift, muss sie über Datenschutzbestimmungen verfügen.

  2. Bereitstellen von Datenschutzbestimmungen

    Wichtig  Wenn Ihre Windows Store-App auf persönliche Daten des Benutzers zugreift, müssen Sie beim Übermitteln der App an den Windows Store Datenschutzbestimmungen bereitstellen, und die Datenschutzbestimmungen müssen auch in der App verfügbar sein. Weitere Informationen hierzu und zu anderen Anforderungen für Windows Store-Apps finden Sie unter App-Zertifizierungsanforderungen für den Windows Store.

  3. Anmelden des Benutzers

    Die App kann die Anmeldung automatisch beim Start vornehmen oder dem Benutzer das Anmelden erst dann ermöglichen, wenn sie auf Daten zugreifen muss, die in Microsoft-Cloud-Diensten wie Outlook.com und OneDrive gespeichert sind. Das Verfahren für diese beiden Methoden wird weiter unten im Abschnitt Anmelden von Benutzern beschrieben.

  4. Abmelden des Benutzers

    Überlegen Sie, wie Ihre App verwendet wird. Greift die App auf Daten zu, die der Benutzer als vertraulich erachtet, sollte der Benutzer automatisch abgemeldet werden, um einen nicht autorisierten Zugriff zu verhindern. Wird die App dagegen in einer sichereren Umgebung verwendet, können Sie über den Einstellungsbefehl Konto eine Option bereitstellen, mit der sich der Benutzer manuell abmelden kann. Das Verfahren für diese beiden Methoden wird weiter unten im Abschnitt Abmelden von Benutzern beschrieben.

    Wichtig  

    Benutzer müssen immer wissen, wann die App mit ihrem Microsoft-Konto verbunden ist.

  5. Anzeigen des Anmeldezustands auf der App-UI

    Fügen Sie der UI Ihrer App eine Anzeige hinzu, die Aufschluss darüber gibt, ob der Benutzer angemeldet ist und ob die App auf seine Informationen zugreifen kann.

    Hinweis  Die App muss Benutzer darüber informieren, dass sie angemeldet sind. Dazu können Sie einfach den Namen des Benutzers anzeigen oder Elemente auflisten, die aus den im Microsoft-Cloud-Dienst gespeicherten Daten stammen. Bei einer App, die in OneDrive gespeicherte Fotos der Benutzer anzeigt, kann z. B. für angemeldete Benutzer eine Liste ihrer Fotos und für nicht angemeldete Benutzer eine Meldung mit dem Hinweis angezeigt werden, dass sie sich anmelden müssen.

Hinzufügen der erforderlichen Einstellungen

In diesem Abschnitt erfahren Sie, wie Sie dem Bereich Einstellungen die erforderlichen Einstellungsbefehle hinzufügen.

  1. Erstellen Sie das Datenschutz-Flyout.

    1. Klicken Sie im Projektmappen-Explorer von Microsoft Visual Studio mit der rechten Maustaste auf die App, und fügen Sie mithilfe des Befehls Hinzufügen > Neues Element... ein neues SettingsFlyout-Steuerelement hinzu.
    2. Klicken Sie im Browser Neues Element hinzufügen auf Installiert > Visual C# > Windows Store, um die verfügbaren Elemente aufzulisten.
    3. Wählen Sie in der Liste die Option Einstellungsflyout aus, geben Sie Privacy.xaml in das Feld Name ein, und klicken Sie auf Hinzufügen.
    4. Öffnen Sie Privacy.xaml, ersetzen Sie das TextbBlock.Text-Element durch dieses Benutzersteuerelement, und ändern Sie die angegebenen Elemente gemäß den Anforderungen Ihrer App.
      
      <!-- Replace the app class name in x:Class and xmlns:local    -->
      <!--   with the class name of your app                        -->
      
      <SettingsFlyout
          x:Class="App.Privacy"
          xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
          xmlns:local="using:App"
          xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
          xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
          mc:Ignorable="d"
          IconSource="Assets/SmallLogo.png"
          Title="Privacy"
          d:DesignWidth="346">
      
          <!-- This StackPanel acts as a root panel for vertical layout of the content sections -->
          <StackPanel VerticalAlignment="Stretch" HorizontalAlignment="Stretch" >
      
              <!-- The StackPanel(s) below define individual content sections -->
      
              <!-- Content Section 1-->
              <StackPanel Style="{StaticResource SettingsFlyoutSectionStyle}">
                  <!-- Section 1 header -->
                  <TextBlock Style="{StaticResource TitleTextBlockStyle}" Text="Privacy statement" />
                  <!-- Section 1 body -->
                  <TextBlock Style="{StaticResource BodyTextBlockStyle}" Margin="0,0,0,25" TextWrapping="Wrap">
                      <TextBlock.Text>
                          Your privacy statement here.
                      </TextBlock.Text>
                  </TextBlock>
      
              </StackPanel>
              <!-- Define more Content Sections below as necessary -->
          </StackPanel>
      </SettingsFlyout>
      
      
      
    5. Fügen Sie dem Bereich "Einstellungen" in der Datei "App.xaml.cs" den Assemblyverweis und das Datenschutz-Flyout hinzu, sodass sie für den Benutzer sichtbar sind.
      
      // add the assembly for the Settings flyout
      using Windows.UI.ApplicationSettings;
      using System.Threading.Tasks;
      
      
      
      
      protected override void onWindowCreated(WindowCreatedEventArgs args)
      {
          SettingsPane.GetForCurrentView().CommandsRequested += onCommandsRequested;
      }
      
      void onCommandsRequested(SettingsPane settingsPane, SettingsPaneCommandsRequestedEventArgs e)
      {
          SettingsCommand privacyCommand = new SettingsCommand("privacy", "Privacy", (handler) =>
          {
              Privacy privacyFlyout = new Privacy();
              privacyFlyout.Show();
          });
          e.Request.ApplicationCommands.Add(privacyCommand);
      }
      
      

    Hinweis  Nun können Sie Ihre App erstellen und sich vergewissern, dass alles soweit funktioniert.

  2. Erstellen Sie das Konto-Flyout mit einer Anmeldeschaltfläche.

    Der Code in diesem Schritt definiert das Layout für das in diesem Screenshot dargestellte Konto-Flyout.

    Screenshot des in diesem Schritt erstellten Konto-Flyouts
    1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die App, und fügen Sie mithilfe des Befehls Hinzufügen > Neues Element ein neues Einstellungsflyout hinzu.
    2. Klicken Sie im Browser Neues Element hinzufügen auf Installiert > Visual C# > Windows Store, um die verfügbaren Elemente aufzulisten.
    3. Wählen Sie in der Liste die Option Einstellungsflyout-Steuerelement aus, geben Sie Account.xaml in das Feld Name ein, und klicken Sie auf Hinzufügen.
    4. Öffnen Sie Account.xaml, ersetzen Sie das SettingsFlyout-Element durch dieses Element, und ändern Sie die angegebenen Elemente gemäß den Anforderungen Ihrer App.
      
      <!-- Replace the app class name in x:Class and xmlns:local    -->
      <!--   with the class name of your app                        -->
      <SettingsFlyout
          x:Class="App.Account"
          xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
          xmlns:local="using:App"
          xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
          xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
          mc:Ignorable="d"
          IconSource="Assets/SmallLogo.png"
          Title="Account"
          d:DesignWidth="346">
      
              <!-- Content Section 1-->
          <StackPanel x:Name="accountName">
              <TextBlock Name="userName" Style="{StaticResource BodyTextBlockStyle}" TextWrapping="Wrap" 
                  Margin="0,0,0,25" Text="You're not signed in."/>
              <!-- both buttons are defined to occupy the same place in the UI -->
              <!-- however only one is visible at a time, to prevent flicker or confusion -->
              <!-- they are defined as Collapsed so neither is visibly by default -->
              <Button x:Name="signInBtn" Click="SignInClick" Content="Sign in" Visibility="Collapsed"/>
              <Button x:Name="signOutBtn" Click="SignOutClick" Content="Sign out" Visibility="Collapsed"/>
          </StackPanel>
      </SettingsFlyout>
      
      
      
    5. Fügen Sie dem Bereich "Einstellungen" in der App-Datei App.xaml.cs den Assemblyverweis und das Konto-Flyout hinzu, sodass sie für den Benutzer sichtbar sind.

      Hinweis  Fügen Sie diesen Code der onCommandsRequested-Methode in der Datei "App.xaml.cs" hinzu.

      
      
          SettingsCommand accountCommand = new SettingsCommand("account", "Account", (handler) =>
          {
              Account accountFlyout = new Account();
              accountFlyout.Show();
          });
          e.Request.ApplicationCommands.Add(accountCommand);
      }
      
      

    Hinweis  Sie können Ihre App noch nicht erstellen, da Sie erst noch die Handler für die An- und Abmeldeschaltfläche hinzufügen müssen. Dies wird in den nächsten Schritten beschrieben.

  3. Dieser Schritt beschreibt, wie Sie Informationen aus dem Profil des Benutzers abrufen, um damit die Textfelder auszufüllen und die korrekte Schaltfläche im Konto-Flyout anzuzeigen.

    Fügen Sie die Verweise auf das Live SDK hinzu, und erstellen Sie anschließend eine Methode, um den Benutzernamen aus dem Microsoft-Kontoprofil abzurufen und in ein TextBlock-Objekt in der UI zu schreiben. Die Methode meldet den Benutzer ggf. an.

    Definieren Sie diese Methode in der Hauptcodedatei der App (beispielsweise App.xaml.cs). Dadurch können alle Seiten Ihrer App die Methode aufrufen und (sofern der Benutzer bei seinem Microsoft-Konto angemeldet ist) den Benutzernamen oder andernfalls eine Meldung mit dem Hinweis anzeigen, dass der Benutzer nicht angemeldet ist.

    In diesem Beispiel wird der Benutzer mit einem wl_basic Bereich angemeldet. Hierbei handelt es sich um den kleinsten erforderlichen Bereich für den Zugriff auf die Profilinformationen des Benutzers. Um die Daten des Benutzers vor unberechtigten Zugriffen zu schützen, sollte Ihre App den Bereich mit den geringsten Freiheiten anfordern, der Zugriff auf die gewünschten Daten ermöglicht.

    Wichtig  Es ist wichtig, dass die App den Anmeldestatus des Benutzers direkt aus dem Live SDK abruft und den Wert nicht zwischenspeichert. Dadurch vermeiden Sie, dass die App-Ansicht des Benutzeranmeldezustands nicht mehr dem tatsächlichen, vom Live SDK verwalteten Anmeldezustand entspricht.

    
    using Microsoft.Live;
    
    
    
    
    public static async Task updateUserName (TextBlock userName, Boolean signIn)
    {
        try
        {
            // Open Live Connect SDK client.
            LiveAuthClient LCAuth = new LiveAuthClient();
            LiveLoginResult LCLoginResult = await LCAuth.InitializeAsync();
            try
            {
                LiveLoginResult loginResult = null;
                if (signIn)
                {
                    // Sign in to the user's Microsoft account with the required scope.
                    //  
                    //  This call will display the Microsoft account sign-in screen if 
                    //   the user is not already signed in to their Microsoft account 
                    //   through Windows 8.
                    // 
                    //  This call will also display the consent dialog, if the user has 
                    //   has not already given consent to this app to access the data 
                    //   described by the scope.
                    // 
                    //  Change the parameter of LoginAsync to include the scopes 
                    //   required by your app.
                    loginResult = await LCAuth.LoginAsync(new string[] { "wl.basic" });
                }
                else
                {
                    // If we don't want the user to sign in, continue with the current 
                    //  sign-in state.
                    loginResult = LCLoginResult;
                }
                if (loginResult.Status == LiveConnectSessionStatus.Connected)
                {
                    // Create a client session to get the profile data.
                    LiveConnectClient connect = new LiveConnectClient(LCAuth.Session);
    
                    // Get the profile info of the user.
                    LiveOperationResult operationResult = await connect.GetAsync("me");
                    dynamic result = operationResult.Result;
                    if (result != null)
                    {
                        // Update the text of the object passed in to the method. 
                        userName.Text = string.Join(" ", "Hello", result.name, "!");
                    }
                    else
                    {
                        // Handle the case where the user name was not returned. 
                    }
                }
                else
                {
                    // The user hasn't signed in so display this text 
                    //  in place of his or her name.
                    userName.Text = "You're not signed in.";
                }
            }
            catch (LiveAuthException exception)
            {
                // Handle the exception. 
            }
        }
        catch (LiveAuthException exception)
        {
                // Handle the exception. 
        }
        catch (LiveConnectException exception)
        {
                // Handle the exception. 
        }
    }
    
    
    

    Tipp  Sie können diese Methode im CodeBehind Ihrer Anzeigeseiten aufrufen, um den Benutzer darüber zu informieren, ob er bei seinem Microsoft-Konto angemeldet ist.

  4. Fügen Sie der CodeBehind-Datei Account.xaml.cs die An- und Abmeldelogik hinzu.

    1. Fügen Sie die Verweise auf das Live SDK hinzu. Erstellen Sie anschließend eine Methode, um den Benutzeranmeldezustand abzufragen und die Benutzeroberfläche des Konto-Flyouts entsprechend zu aktualisieren.

      
      using Microsoft.Live;
      using System.Threading.Tasks;
      
      
      
      
      private async Task SetNameField(Boolean login) {
          // If login == false, just update the name field. 
          await App.updateUserName(this.userName, login);
      
          // Test to see if the user can sign out.
          Boolean userCanSignOut = true;
      
          LiveAuthClient LCAuth = new LiveAuthClient();
          LiveLoginResult LCLoginResult = await LCAuth.InitializeAsync();
      
          if (LCLoginResult.Status == LiveConnectSessionStatus.Connected)
          {
              userCanSignOut = LCAuth.CanLogout;
          }
          
          if (this.userName.Text.Equals("You're not signed in."))
          {
              // Show sign-in button.
              signInBtn.Visibility = Windows.UI.Xaml.Visibility.Visible;
              signOutBtn.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
          }
          else
          {
              // Show sign-out button if they can sign out.
              signOutBtn.Visibility = (userCanSignOut ? Windows.UI.Xaml.Visibility.Visible : Windows.UI.Xaml.Visibility.Collapsed);
              signInBtn.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
          }
      }
      
      
      
    2. Fügen Sie diesen Methodenaufruf dem Account()-Konstruktor hinzu, um das Flyout zu initialisieren, wenn ein Benutzer es im Bereich Einstellungen öffnet.
      
      SetNameField(false);
       
      
      
    3. Fügen Sie den Code zum Behandeln des Ereignisses hinzu, das beim Tippen auf die Anmeldeschaltfläche (Sign in) ausgelöst wird.

      Diese Methode ruft SetNameField auf, um den Benutzer anzumelden und die Benutzeroberfläche des Konto-Flyouts entsprechend zu aktualisieren.

      
      private async void SignInClick(object sender, RoutedEventArgs e)
      {
        // This call will sign the user in and update the Account flyout UI.
        await SetNameField(true);
      }
      
      
    4. Fügen Sie den Code hinzu, durch den der Benutzer beim Tippen auf die Abmeldeschaltfläche (Sign out) abgemeldet wird.

      
      private async void SignOutClick(object sender, RoutedEventArgs e)
      {
          try
          {
              // Initialize access to the Live Connect SDK.
              LiveAuthClient LCAuth = new LiveAuthClient();
              LiveLoginResult LCLoginResult = await LCAuth.InitializeAsync();
              // Sign the user out, if he or she is connected;
              //  if not connected, skip this and just update the UI
              if (LCLoginResult.Status == LiveConnectSessionStatus.Connected)
              {
                  LCAuth.Logout();
              }
      
              // At this point, the user should be disconnected and signed out, so
              //  update the UI.
              this.userName.Text = "You're not signed in.";
      
              // Show sign-in button.
              signInBtn.Visibility = Windows.UI.Xaml.Visibility.Visible;
              signOutBtn.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
          }
          catch (LiveConnectException x)
          {
              // Handle exception.
          }
      }
      
      
      
  5. Erstellen Sie Ihre App, und testen Sie die soeben hinzugefügten SettingsFlyouts.

    Die Befehle Konto und Datenschutz für den Bereich Einstellungen sollten angezeigt werden, wie in diesem Screenshot dargestellt.

    Charm "Einstellungen" mit den in diesem Schritt hinzugefügten Befehlen für Konto und Datenschutz.
  6. Wenn die App ausgeführt wird und der Benutzer nicht bei seinem Microsoft-Konto angemeldet ist, wird ein ähnliches Flyout wie dieses angezeigt, wenn der Benutzer im Bereich Einstellungen auf den Befehl Konto tippt.

    Screenshot mit der Umgebung für die Benutzeranmeldung.

    Wenn der Benutzer auf die Anmeldeschaltfläche (Sign in) tippt, werden die folgenden Bildschirme angezeigt.

    1. Die UI für die Anmeldung bei einem Microsoft-Konto.

      Screenshot der UI für die Anmeldung bei einem Microsoft-Konto.

    2. Die UI für die Live Connect-Zustimmung, falls der Benutzer dieser App nicht bereits seine Zustimmung erteilt hat.

      Screenshot der UI für die Live Connect-Zustimmung.

    3. Nachdem der Benutzer sich angemeldet und seine Zustimmung erteilt hat, kehrt er zur App zurück.
  7. Falls sich der Benutzer bereits bei einem Microsoft-Konto angemeldet hat und eine Möglichkeit zum Abmelden besteht, wird ein ähnliches Flyout wie dieses angezeigt.

    Screenshot mit der Umgebung für die Benutzerabmeldung, wenn sich der Benutzer abmelden kann.

  8. Falls sich der Benutzer bereits bei einem Microsoft-Konto angemeldet hat und keine Möglichkeit zum Abmelden besteht, wird ein ähnliches Flyout wie dieses angezeigt.

    Screenshot mit der Umgebung für die Benutzerabmeldung, wenn sich der Benutzer nicht abmelden kann.

  9. Aktualisieren Sie nach der Anmeldung des Benutzers die UI der App, um den Namen des Benutzers anzuzeigen.

    Screenshot der App mit angezeigtem Benutzernamen.

Hinweis  Die Codebeispiele in diesem Schritt definieren lediglich die Flyouts für den Bereich Einstellungen. Sie müssen den Anzeigeseiten Ihrer App das Markup und den Code zum Anzeigen des Namens des Benutzers hinzufügen.

Anmelden von Benutzern

Für die Anmeldung von Benutzern bei der Windows Store-App stehen zwei Methoden zur Auswahl. Für welche Sie sich entscheiden, hängt davon ab, ob sich der Benutzer anmelden muss, um die App verwenden zu können.

  • Falls die App verwendet werden kann, wenn der Benutzer nicht angemeldet ist, für bestimmte Szenarien oder Features aber eine Benutzeranmeldung erforderlich ist, sollte die Benutzeranmeldung über eine Benutzeroberfläche vom Typ Konto aus dem Bereich Einstellungen erfolgen, wie weiter oben beschrieben.

    Weitere Informationen zum Anmelden von Benutzern finden Sie in der Live Connect-Dokumentation im Thema Anmelden von Benutzern.

  • Wenn die App ohne Anmeldung des Benutzers nicht oder nur eingeschränkt verwendbar ist, zeigen Sie das Microsoft-Kontoanmeldedialogfeld sofort nach dem Starten der App an. Rufen Sie zum Anzeigen dieses Dialogfelds die Microsoft.Live.LiveAuthClient.LoginAsync-Methode auf.

    Hier sehen Sie ein Beispiel.

    
    public LiveConnectSession Session
    {
         get
         {
             return _session;
         }
         set
         {
             _session = value;
         }
    }
    
    private async void InitAuth()
    {
        if (!Windows.ApplicationModel.DesignMode.DesignModeEnabled)
        {
           authClient = new LiveAuthClient();
           LiveLoginResult authResult = 
               await authClient.LoginAsync(new List<string>() { "wl.signin", "wl.basic", "wl.skydrive" });
           if (authResult.Status == LiveConnectSessionStatus.Connected)
           {
               this.Session = authResult.Session;
           }
        }
    }
    
    

    Weitere Informationen hierzu finden Sie in der Live Connect-Dokumentation im Artikel Anmelden von Benutzern.

  • Wenn Ihre App ohne Anmeldung des Benutzers funktioniert, aber bestimmte in Microsoft-Cloud-Dienste wie Outlook.com und OneDrive integrierte Befehle enthält, kann sie die UI für die Anmeldung mit einem Microsoft-Konto anzeigen, wenn ein solcher Befehl ausgewählt wird. Die App-Leiste einer Fotobearbeitungs-App könnte z. B. einen Befehl wie Foto auf OneDrive speichern enthalten. Fügen Sie in diesem Fall dem App-Leistenbefehlshandler für diesen Befehl direkt vor dem Code zum Speichern des Fotos den Code aus dem folgenden Beispiel hinzu, um den Benutzer bei seinem Microsoft-Konto anzumelden. (Der Code zum Speichern des Fotos ist nicht im Beispiel enthalten.)

    Hier sehen Sie ein Beispiel, in dem der Benutzer über einen Befehl auf der App-Leiste angemeldet wird.

    
    private void AppBarSaveButton_Click(object sender, RoutedEventArgs e)
    {
        InitAuth();
    }
    
    private async void InitAuth()
    {
        if (!Windows.ApplicationModel.DesignMode.DesignModeEnabled)
        {
            authClient = new LiveAuthClient();
            LiveLoginResult authResult = 
                await authClient.LoginAsync(new List<string>() { "wl.signin", "wl.basic", "wl.skydrive" });
            if (authResult.Status == LiveConnectSessionStatus.Connected)
            {
                // An app-level property for the session.
                App.Session = authResult.Session;
            }
        }
    }
    
    

    Bei Verwendung des einmaligen Anmeldens werden dem Benutzer die Anmelde- und die Zustimmungs-UI nur angezeigt, wenn er sich anmelden oder seine Zustimmung erteilen muss. Falls er schon bei seinem Microsoft-Konto angemeldet ist und der App bereits seine Zustimmung für den Zugriff auf seine Daten erteilt hat, wird keine zusätzliche UI angezeigt.

    Wichtig  

    Stellen Sie sicher, dass dem Benutzer klar ist, ob er bei seinem Microsoft-Konto angemeldet ist.

    Weitere Informationen hierzu finden Sie in der Live Connect-Dokumentation im Artikel Anmelden von Benutzern.

    Unter Richtlinien zur Live Connect-Implementierung und -Branding finden Sie eine ZIP-Datei mit genehmigten Symbolen, mit denen Sie die Darstellung einer Schaltfläche der App-Leiste anpassen können.

Abmelden von Benutzern

Wenn eine App unter Windows 8 anhand des Microsoft-Kontos des Benutzers eine Verbindung mit Ressourcen herstellen kann, muss sie dem Benutzer die Möglichkeit geben, sich abzumelden.

Hinweis  Wenn sich ein Benutzer bei Windows 8 mit einem Microsoft-Konto (oder mit einem lokalen Konto oder Domänenkonto, das mit einem Microsoft-Konto verknüpft ist) anmeldet, hat das Bereitstellen einer benutzerdefinierten Abmeldeschaltfläche keine Auswirkung.

Rufen Sie zum Abmelden eines Benutzers die Microsoft.Live.LiveAuthClient.Logout()-Methode auf.

Nicht empfehlenswerte Praktiken

Stellen Sie Folgendes für Ihre App sicher:

  • Es werden keine Texte, Steuerelemente, Anmelde- und Abmeldedialogfelder als die zuvor hier beschriebenen angezeigt. Mit der Microsoft-Kontoanmeldung können Benutzer erkennen, dass die App nicht direkt auf die Anmeldeinformationen ihres Microsoft-Kontos zugreifen kann.
  • Benutzerdefinierte Anmelde- oder Abmeldesteuerelemente werden ausschließlich im Bereich Einstellungen oder im Rahmen des Aufgabenbefehlsflusses der App angezeigt.

 

 

Anzeigen:
© 2014 Microsoft