[DEV][Win8] Verbinden der App mit einer Microsoft ID

Hier der erste Beitrag zu meiner Blogserie: Blogserie- Mein Leben mit XAML

Eine der interessantesten Möglichkeiten bei der Entwicklung von modernen Windows Store Apps ist die Integration der Live Dienste in die App – und das ohne besonders viel selbst tun zu müssen.

Der erste Schritt um die Live Dienste nutzen zu können ist das Herunterladen/Installieren und in der App zu referenzieren des Live SDKs.

Als nächstes – und dieser Schritt ist essentiell (!!) – muss die App im Store und bei den Live Diensten angemeldet werden:

  1. Der erste Schritt am einfachsten über Visual Studio:
    image
  2. Danach im Store Portal unter den erweiterten Features
    image
  3. die Informationen zu den Live Diensten anzeigen:
    image
  4. Wer Punkt 1 schon gemacht hat, muss dann nur noch “Präsentieren der App für Live Connect-Benutzer” anklicken:
    image
  5. Und im nachfolgenden Screen noch die passende Umleitungs URL eintragen (muss einmalig sein und sollte natürlich unter der eigenen Kontrolle sein!):
    image

 

 

Wer einen eigenen Werbservice nutzt, um die LiveDienste auch serverseitig zu nutzen, der benötigt noch zusätzlich die Authentication Secrets, diese sind aber nicht Client spezifisch, da dies ja über die Verbindung der App zum Store/Service authentifiziert werden.

Für meine Zwecke benötigte ich Live als Authentication Methode. Dafür muss ich zu allererst eine Verbindung aufbauen, z.B.:

 LiveAuthClient myLiveAuthClient = new LiveAuthClient(https://meine-verbindungs.url/);

Nun noch eine authentifizierte Session aufbauen:

 LiveLoginResult myLiveLoginResult = await myLiveAuthClient.LoginAsync(new List<string>() { "wl.signin", "wl.basic" });
                
if(myLiveLoginResult.Status == LiveConnectSessionStatus.Connected)
{
    LiveConnectSession myLiveConnectSession = myLiveLoginResult.Session;

    myLiveConnectClient = new LiveConnectClient(myLiveConnectSession);
    var operationResult = await myLiveConnectClient.GetAsync("me");
    try
    {
    }
    catch (Exception e)
    {
    }
}
 

 

Und dann z.B. im try Block auf den Benutzernamen zugreifen o.ä.

  

Zusammengefasst: die größte Hürde war bei mir an das Eintragen im Store Portal zu denken!

  

Hier noch ein paar Links zu dem Thema:

-Stephanus