Authentifizierung mit den Azure Mobile Services

Dieser Artikel ist ein Gastbeitrag von Dino, welcher sonst für Tech-Impact.de Beiträge verfasst und für RefreshButton.net entwickelt. Mit Windows Azure bietet Microsoft einen umfangreichen Cloud-Service an, zu dem unter anderem die Azure Mobile Services gehören. Die Mobile Services ermöglichen Dir im Handumdrehen ein Data-Backend für Deine App zu erstellen. Um die vorhandenen Daten in den Datenbanken vor unerlaubtem Zugriff zu schützen bzw. den Zugriff auf registrierte Nutzer zu beschränken, hast Du die Wahl zwischen verschiedenen Identity-Providern. Wir wollen uns im heutigen Beispiel ansehen, wie wir den Microsoft Account eines Nutzers dazu verwenden können, um ihn für den Zugriff auf unsere Datenbank zu authentifizieren. Neben dem Microsoft Account bietet Azure noch Google, Twitter und Facebook als Identity-Provider an. Das gezeigte Verfahren lässt sich leicht auf alle übertragen.

Microsoft bietet jedem Interessierten eine 90-Tage Testversion für Windows Azure an, solltest Du noch kein Konto eingerichtet haben, kannst Du das hier nachholen. Wenn Du noch keinen Mobile Service eingerichtet hast, wähle im Dashboard in der Navigation links die „Mobilen Dienste“ und klicke dann unten links auf „Neu„. Folge den Anweisungen, um Deinen Mobile Service zu erstellen. Ist der Mobile Service erstellt, kannst Du ihn nun anwählen:

azure_authentication_1

ein neuer WAMS wurde erstellt

Wechsle nun zum Dashboard des Mobile Service, um Dir dort die URL des mobilen Service zu notieren, diese wird benötigt um die Zuordnung des Service mit den Identity Provider herstellen zu können. Die URL findest Du etwa mittig rechts im Bild. Diese URL solltest Du übrigens nicht weitergeben, um Missbrauch zu vermeiden:

azure_authentication_2

URL des WAMS erfahren

Als nächstes müssen wir die App erstellen. Wechsle dazu bspw. zum Windows Store Dashboard und erstelle dort eine neue App. Du kannst natürlich auch eine bereits vorhandene App nutzen. Ist dies getan, müssen wir nun in das Live Connect Developer Center wechseln, um dort die Konfiguration vorzunehmen. Bitte achte hier darauf, dass Du für alle Portale den gleichen Microsoft Account nutzt. Im Dashboard des Live Connect Developer Centers solltest Du nun die vorher angelegte App sehen. Klicke sie an und öffne damit ihre Detailansicht. Wähle nun „Einstellungen bearbeiten“ unterhalb des App Namens und dort wählst Du „API Einstellungen“:

microsoft_authentication_1

Einstellungen für die Microsoft-Authentifizierung

Hier notierst Du dir bitte die Client ID und das Client Geheimschlüssel. Außerdem gibst Du hier die URL des mobile Service ein. Klicke auf „Speichern“ und schließe dieses Fenster. Hier gilt übrigens auch wieder: Du solltest den Geheimschlüssel mit niemandem teilen! Zurück im Azure Dashboard Deines Mobile Service wählst Du nun das „Identität“ Tab und trägst dort für den Microsoft Account die Client ID und den Geheimschlüssel ein, dann klickst Du auf speichern:

azure_authentication_3

Daten im WAMS eintragen

Nun müssen wir nur noch, falls nicht schon beim erstellen des Mobile Service geschehen, den Zugriff auf die Datenbanken auf authentifizierte Nutzer beschränken. Klicke dazu auf das „Daten“ Tab im Dashboard und wähle die entsprechende Datenbank-Tabelle. Dann wechselst Du zum „Berechtigungen“ Tab und nimmst dort die Einstellung vor. Speichern nicht vergessen:

azure_authentication_4

eine Tabelle auswählen

azure_authentication_5

nur authentifizierte Nutzer erhalten Zugriff auf die DB

Wir sind fast soweit. Nun fehlt nur noch der entsprechende Code in unserer App, um die Authentifizierung durchzuführen. Öffne dein App Projekt in Visual Studio und füge die folgende Methode an geeigneter Stelle ein, vorher solltest Du den Namespace Windows.UI.Popups noch einbinden:

Zu guter Letzt müssen wir nur noch diese Methode aufrufen. Am Besten erledigen wir das in der OnNavigatedTo-Methode unserer MainPage:

Fertig. Nun können wir mit unserer App Nutzer authentifizieren und die Azure Mobile Services noch effektiver nutzen. Ich hoffe ich konnte Dir bei der Entwicklung Deiner App helfen, solltest Du weitere Fragen zum Thema haben, zögere nicht mich unter dino@RefreshButton.net zu kontaktieren. Viele weitere nützliche Anleitungen und Tipps zum Thema, findest Du im Azure Developer Center.

Das könnte dich auch interessieren...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.