Auswählen eines Authentifizierungsprotokolls

Letzte Aktualisierung: Februar 2014

 

DataMarket-Logo

Erstellen Sie eine Anwendung, und vermarkten Sie diese an eine große und wachsende Kundenbasis in Marketplace. Unabhängig davon, ob Ihre Anwendung Marketplace-Daten nutzt, können Sie Mitglied bei der Community werden, die von den Vorteilen von Marketplace profitiert, um Ihre Anwendungen zu verkaufen. Marketplace übernimmt die Bereitstellung und den Abrechnungsvorgang – Sie müssen nur noch die Gewinne einstreichen. Wenn Ihre Anwendung Marketplace-Daten verbraucht, muss der Benutzer für den Zugriff auf die Datasets authentifiziert und autorisiert sein.

Windows Azure Marketplace (WAM) unterstützt zwei Authentifizierungsprotokolle: HTTP-Standardauthentifizierung und OAuth. Die Entscheidung, welches Protokoll verwendet werden soll, hängt davon ab, wer die Anwendung verwendet und wie dies erfolgt.

HTTP-Standardauthentifizierung und OAuth-Authentifizierung können einen Benutzer authentifizieren und dann nach Bedarf den Zugriff auf eine geschützte Ressource erteilen oder verweigern.

Wenn Sie die folgenden Fragen für Ihre Anwendung beantworten, können Sie ermitteln, welche Option die bessere Wahl darstellt:

  • Wird diese Anwendung in Marketplace verkauft?

  • Greift der Benutzer auf mindestens ein Marketplace-Dataset zu?

Wenn Sie mindestens eine der Fragen mit "Ja" beantwortet haben, ist OAuth das erforderliche Authentifizierungsprotokoll.

Die Marketplace-Implementierung von HTTP-Standardauthentifizierung ignoriert die Benutzer-ID und verlangt nur, dass ein gültiger geheimer Kontoschlüssel als Kennwort verwendet wird. Sie können die Benutzer-ID ignorieren. Wenn Sie die Verwendung und Abrechnung jedoch selbst verwalten möchten, können Sie sie zum Identifizieren bestimmter Benutzer verwenden. Wenn Ihre Anwendung das HTTP-Standardauthentifizierungsprotokoll für den Zugriff auf Marketplace verwendet, gilt Folgendes:

  • Der gesamte Zugriff erfolgt über ein einziges Konto.

  • Alle Benutzer verwenden ein Kennwort (den Marketplace-Kontoschlüssel) gemeinsam.
    Unabhängig davon, ob der Kontoschlüssel im Code enthalten ist oder vom Benutzer eingegeben wird, ist er weniger privat und geheim. Auf diese Weise können Schwachstellen entstehen, die ausgenutzt werden können.

  • Der gesamte Zugriff wird durch Marketplace für ein Konto – den Besitzer des Kontoschlüssels (möglicherweise Sie) – abgerechnet.

  • Wenn Sie den Zugriff für einen Benutzer entfernen (indem Sie den Kontoschlüssel ändern), wird der Zugriff für alle Benutzer entfernt.

  • Nur Datasets, die vom Besitzer des Kontoschlüssels abonniert werden, sind für Benutzer verfügbar.

  • Wenn für einzelne Benutzer die kostenpflichtig sein soll, müssen Sie deren jeweilige Nutzung verwalten und abrechnen.

Siehe Implementieren von HTTP-Standardauthentifizierung in Ihrer Marketplace-App.

Die Marketplace-Implementierung von OAuth nutzt die Windows Live ID und das Kennwort des Benutzers sowie den Registrierungsschlüssel (client_id) der Anwendung, um die Authentifizierung auszuführen und Zugriff auf Datasets zu erteilen. Durch die Verwendung von OAuth ergeben sich einige zusätzliche Sicherheitsvorteile, z. B. die Möglichkeit, den Client und den Benutzer zu authentifizieren und ein Zugriffstoken direkt für den Client auszustellen, ohne dass eine Offenlegung für andere Benutzer (einschließlich des Ressourcenbesitzers) erfolgt.

Wenn Ihre Anwendung das OAuth-Protokoll für den Zugriff auf Marketplace verwendet, gilt Folgendes:

  • Die Anwendung muss bei Marketplace registriert sein.

  • Jeder Benutzer muss über eine Windows Live ID verfügen.

  • Der gesamte Zugriff erfolgt über das jeweilige Konto des Benutzers.

  • Die Abrechnung erfolgt für das jeweilige Konto des Benutzers.

  • Wenn Sie den Zugriff für einen Benutzer entfernen, sind keine weiteren Benutzer davon betroffen.

  • Auf alle Datasets, die der Benutzer abonniert, kann zugegriffen werden (wenn die Anwendung dieses Szenario unterstützt).

  • Marketplace verwaltet das Konto des Benutzers und den Abrechnungsvorgang.

Siehe Implementieren von OAuth in Ihrer Marketplace-App.

Unter Berücksichtigung der oben beschriebenen Aspekte stellt sich die Frage, warum überhaupt HTTP-Standardauthentifizierung verwendet werden sollte. Dafür gibt es zwei Gründe: 1) Der zum Implementieren von HTTP-Standardauthentifizierung erforderliche Code ist kürzer und einfacher als der Code zum Implementieren von OAuth. 2) Wenn Sie die einzige Person sind, die die Anwendung verwendet, benötigen Sie die Flexibilität und Komplexität von OAuth nicht.

Siehe auch

Anzeigen: