Frage

Ich fange an, ernsthaft Zweifel der OpenID Gemeinschaft trotz der Tatsache, dass es funktioniert.

Ich bin in dem Prozess der derzeit OpenID als Authentifizierungsdienst für ‚diese‘ Website zu bewerten und während die Versprechen sind groß, ich kann es einfach nicht an der Arbeit. Und ich bin wirklich verloren.

Ich frage die Gemeinschaft SO mir hier zu helfen. Gib mir Antworten und zeigen Sie mir Beispiele, damit ich diese in der Art und Weise nutzen kann es eigentlich sein sollte.

ist mein Szenario sehr typisch. Ich möchte die Benutzer durch eine bestimmte Google Apps-Domain authentifizieren. Wenn Sie den Zugriff auf diese Google Apps-Domain haben, dann haben Sie den Zugriff auf meine Web-Anwendung.

Wo ich verloren gehen, ist es, alle Voraussetzungen und Abhängigkeiten beteiligt.

  1. Was ist XRD?
  2. Was ist Yadis?
  3. Warum muss ich XRD und Yadis?
  4. Was muss ich tun, um OpenID Authentifizierung auf meiner Website zu implementieren?

Auch das ist wirklich wichtig für mich.

Als ich SO anmelden, verwende ich mein Google-Konto. Wenn ich die Login-Button klicken Ich bin mit dieser Bestätigungsseite. Wo ich bin so das Recht einräumen, zu meinen Google-Konto-Anmeldeinformationen zu verwenden.

Irgendwie weiß Google, dass es „Stackoverflow.com“ das mich zu fragen, ob es Login in Ordnung ist. Und ich möchte wissen, was Art der Steuerung Ich habe über diesen kleinen Text. Ich beabsichtige, auf verschiedene Domains OpenID einsetzen, aber ich würde es vorziehen, wenn sie würden alle Arbeiten ohne einzeln mit mit speziellen Parametern wie geheimer API-Schlüssel und was nicht konfiguriert werden. Aber ich weiß es nicht sicher, ob dies eine Voraussetzung für OpenID ist, das oder die föderierte Anmeldung API, dass Google zur Verfügung stellt.

War es hilfreich?

Lösung 3

Ich habe festgestellt, tatsächlich eine Lösung für mein Problem, und surpsingly so, es war sehr einfach. Ich verstehe immer noch nicht XRDS und Yadis aber ich nutze es ganz leicht, wie so.

Was Sie wollen, und das, was Sie suchen ist Code für den OpenID tun „Relaying Partei“ Zeug. Das ist „Sie“ als Verbraucher von OpenID-Provider. Sie geben einen OpenID-Endpunkt und voila, haben Sie OpenID Ihre Site aktiviert, dieser Code zeigt, dass in der Praxis.

// using DotNetOpenAuth
var openid = new OpenIdRelyingParty();
var response = openid.GetResponse();
if (response == null)
{
    // Google account end point (works fine)
    var googleID = "https://www.google.com/accounts/o8/id";
    // Google hosted account end point
    //  https://www.google.com/accounts/o8/site-xrds?hd=mydomain.com
    // I was unable to test this, but I was running my RP (this code)
    // from localhost and it's quite possible that a hosted account RP
    // has to return to the same domain.
    // It went fine, but crashed with a "Unable to resolve mydomain.com" error
    // once I logged in.
    openid.CreateRequest(googleID).RedirectToProvider();
}
else
{
    switch (response.Status)
    {
        case AuthenticationStatus.Authenticated:
            // Success
            // to allow persistance across sessions
            // you'll have to track the "claimed identifier"
            // some OpenID providers allow you to get an email address through
            // extensions but this is not always possible.
            // the claimed identifier is typically your safest bet
            // and it's a big URL which uniquely identifies the guest
            // as a specific user, however, you know very little about this user
            // which is a good thing becuase you don't have to give out personal or
            // sensitive information to start using a service.
            break;

        default:
            // Something went wrong, check Status property
            break;
    }
}

Während ich diese heraus war herauszufinden, habe ich den Eindruck von jedem spec. da draußen, dass ich sollte meine eigenen „OpenID-Provider“ hosten, die es klingt gemacht wie ich handeln Konten oder einen Teil des Prozesses sollte. In Wirklichkeit hatte alles, was ich war, dies zu tun.

Anfrage, dass URL, oder wenn Sie eine OpenID Anforderung als Antwort empfangen. Überprüfen Sie, ob die Anfrage gültige Anmeldeinformationen enthält.

Andere Tipps

Zur Beantwortung Ihnen tatsächlich Frage (dh ohne Berücksichtigung von allen argumentativen Punkten) Ich bin wie-wir-sprechen mit DotNetOpenAuth OpenID Genehmigung für eine meiner Websites zu implementieren; und es war ziemlich trivial.

Es ist nur ein .NET-Steuerelement, das Sie es fallen, eine kleine Menge Dinge zu konfigurieren, und dann lassen Sie es zu Formularauthentifizierung verknüpfen. Ganz nett.

Okay, haben Sie eine Menge Fragen bekommen dort unter einem Header. Lassen Sie mich sehen, ob ich es nach unten brechen kann.

XRD und Yadis:

„Yadis“ war der Name für das Service-Discovery-Stück OpenID - das Bit, das Sie bekommt „meine OpenID ist example.com“ auf „der autoritativen Server für meine OpenID ist bei openid.example.com/server und es unterstützt mit AX Erweiterungen v2.“ XRDS ist das XML-Schema, das diese Informationen enthält.

(Die Tatsache, dass OpenID (ein Standard, den wir durch keine anerkannten Normungsorganisation entwickelt) ist abhängig von XRD (von einem anderen Work-in-progress-Standard in

Siehe Joseph Smarr Ein Rezept für OpenID-Enabling Ihrer Website . Heilige Kuh, das ist 2 + Jahre alt schon? Es ist immer noch relevant, jedoch.

Wie die OpenID-Provider identifizieren Ihre Website (die vertrauende):

Dieser kleine Text (zum Beispiel „stackoverflow.com“) ist die OpenID „Reich“, die ein Parameter, den Sie an den Provider übergeben und ist eine strenge Teilmenge der Endpunkt-URL Sie ihre Antwort zu verarbeiten verwenden. (Also, wenn Sie den Server anweisen, die OpenID Antwort auf server2.example.com/foobar zu senden, können Sie Ihr Reich example.com sein, oder server2.example.com oder server2.example.com/foobar, aber nicht server99.example .com).

Geheime API-Schlüssel:

In der Regel gibt es keinen Out-of-Band-Geheimnis API-Schlüssel zu erhalten. Für allgemeine Zwecke Anbieter OpenID Schlüssel werden nur durch den Standard OpenID Zuordnungsmechanismus ausgegeben.

Jetzt haben Sie stoßen auf einige Funktionen hier, welche ein OpenID-Provider sicherlich wertvoll betrachten könnte - wie „Wie kann ich den Benutzer in eine benutzerfreundliche Art und Weise mitteilen, welche Website sie sind Anmeldung bei, als sie eine URL zeigt Ausschnitt“oder‚wie kann ich diese Anforderung identifiziere wirklich von einer RP kommt ich eine Art von Vertragsverhältnis habe mit‘, aber solche Features sind nichts, dass die in dem OpenID-2.0-Standard.

Es klingt wie Sie wirklich untersuchen wollen RPX - es ist eine Lösung, die es einfach für Entwickler macht (und Benutzer ) ihre bevorzugten Authentifizierungsmechanismen zu verwenden, einschließlich OpenID.

  

Die Arbeit als Proxy zwischen Dritten Identity-Provider und Ihre Website, RPX hilft Ihnen, mühelos Authentifizieren Benutzer mit ihren bestehenden Account auf Facebook, Google, Yahoo !, Twitter, MySpace, AOL, Windows Live / MSN / Hotmail oder jede andere OpenID-Provider.

Nach meiner Erfahrung, ja.

Ich hatte versucht, DotNetOpenAuth, speziell auf Mono zu verwenden, und bekam nicht schnell, und ich versuchte, eine Menge von Möglichkeiten, um es an der Arbeit und am Ende sehr frustriert.

Wenn keine Alternativen habe ich LoginRadius (bereits mit einem Wordpress-Seite mit ich hatte), und fand es viel einfacher, und es öffnet sich ein Popup-Fenster, um die Authentifizierung zu tun, die nach oben ist, wie ich es mit DotNetOpenAuth gewollt hätte.

Sie sehen im Moment frei, aber es sagt, Beta. So sie es in Zukunft erheben können ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top