SSO (Single-sign-on) und ADFS (Active Directory Federation Services) mit Ruby On Rails
Ich versuche zu verstehen, wie die Integration von SSO (Single sign-on) und ADFS (Active Directory Federation Services) in einer bestehenden Ruby On Rails-Anwendung gehostet auf einem linux-Umgebung serviert von nginx.
Berücksichtigung einer partner (ein Unternehmen, mit Active record-Verzeichnis) und eine Dienstleister (der rails-Anwendung).
Scheint es, dass der service-provider web-server ausführen müssen, eine ADFS-Web-Agent, der sich um die Authentifizierung der partner und letztlich leiten den Benutzer auf die rails-app mit einem token ein, eine Forderung, die verwendet werden, um den Benutzer zu identifizieren in der app.
Meine größte Sorge ist, über dieses ADFS-Web-Agent:
Verstehe ich richtig, dass es ausgeführt werden muss, auf service provider-Seite ? (Ich bin nicht daran interessiert, auf der partner-Seite). Wenn ja, was wäre der beste Weg, sich zu integrieren ADFS SSO mit unserer app, serviert von nginx auf einem linux-OS? Brauche ich einen windows-server mit einem federation server ?
Vielen Dank im Voraus für jede Hilfe!!!
- Verwenden Sie auszudenken oder omniauth? Ich hatte eine ähnliche situation konfigurieren der Einzelanmeldung für shibboleth/touchstone und fand eine omniauth-Strategie für Sie.
Du musst angemeldet sein, um einen Kommentar abzugeben.
ADFS Griffe zwei Protokolle, WS-Fed und SAML. ADFS 3.0 behandelt den Freischaltcode Zuschuss in OAuth 2.0 (aber nicht OpenID Connect),
So, um deine Rails app. zu sprechen, ADFS, die es braucht, um als support für die Protokolle.
Kann, wenn Sie das tun, gibt es keine Notwendigkeit für einen anderen server.
Vielleicht so etwas wie ruby-saml.
Schau mal hier: SAML 2.0 SSO für Ruby on Rails?
Den anderen Ansatz ist die Verwendung von OAuth /RUHE, um sich zu einigen intermediate federation server und dann auf SAML - /WS-Fed auf der anderen Seite heraus.
Auth0 und Ping-Verbund die Unterstützung dieser Art von Ansatz.
Lesen diese ausgezeichnete post. Praktisch und klar.
Wenn Sie mit omniauth oder wenn Sie sind in der Lage, es zu benutzen haben Sie einen Blick auf diese: https://github.com/highgroove/omniauth-saml-rstr