2017-05-04 2 views
0

Ich laufe gerade meinen eigenen Test IdentityServer durch, aber ich habe einen Haken gefunden. ClientUri und RedirectUris müssen für jeden browserbasierten Client angegeben werden. Ich weiß, dass diese in der Datenbank gespeichert werden können, aber gibt es eine Möglichkeit, Wildcards hier einzufügen?Sind in IdentityServer Client Redirect URLs Platzhalter erlaubt?

Jeder unserer Kunden erhält eine eigene Subdomain und ich möchte die Benutzerverwaltung vereinfachen, indem alle Browser, die versuchen, auf unsere Apps unter * .ourcompany.com zuzugreifen, als dieselben Clients im Identity Server behandelt werden. Ist das möglich.

+0

Wenn Sie dies tun falsch könnte man einen Angriff, wo a.ourcompany.com versuchen könnte URIs für b.outcompany.com zu verwenden. Stellen Sie sicher, dass Sie dies richtig machen, sonst haben Sie eine Katastrophe. – Lutando

+0

Wie könnten Subdomains "Uri's" von anderen verwenden? Es gibt nur zwei Hauptanwendungen, bei denen kundenspezifische Daten und Sicherheitstoken für Benutzer angeben würden, auf welches Unternehmen sie Zugriff haben dürfen, um signiert zu werden, um Manipulationen zu vermeiden. – Ian

Antwort

1

Sie können Ihren eigenen Redirect-URI-Validator implementieren. Aus Sicherheitsgründen wird dies jedoch nicht empfohlen, da dadurch die Angriffsfläche erweitert wird.

  1. Redirect Uri Validator Interface
  2. How to register your custom validator
  3. Discussion about redirect uri


Identität Server4

Ich glaube, Sie AddCustomAuthorizeRequestValidator im Start hinzufügen können. Es wird jedoch nicht empfohlen, die Umleitungs-URI-Validierung zu ändern.

  1. Add Custom services
  2. Related Discussion
+0

Ja, an diesem Punkt sieht IdentityServer zu schwer für mich. Plus v4 ist das neueste, aber es scheint nicht die Dokumentation zu haben, die ich für benutzerdefinierte Benutzerspeicher und dergleichen benötige (die obigen Links beziehen sich auf v3). Das größte Problem ist jedoch, dass ich ein Schema implementieren möchte, in dem die STS einfach ein Identity/AuthZ-Token prägt und es an den Browser zurückgibt, anstatt alle diese Rollen und Bereiche in der STS zu definieren. Ich brauche nicht die gesamte App-Funktionalität. – Ian

+0

Sorry, ich habe nicht gesehen, das ist für den Identitätsserver 4. Modifizierte die Antwort wenig. Wenn Sie eines Tages den gleichen Benutzerspeicher für verschiedene Apps benötigen, zahlt sich die Investition auf den Identitätsserver aus. In Bezug auf Dokumentation und Beispiele, obwohl sie sich verbessern können, denke ich, dass es genug gibt, um in der Produktion zu starten. – rawel

+1

Ich denke, es ist der volle Funktionsumfang, der es wiegt. Meine Apps haben alle die gleichen x509-Zertifikate auf ihren Rechnern installiert, sodass ich Token überall validieren und entschlüsseln kann. Das bedeutet, dass ich eine einfachere Eigner-basierte Authentifizierung durchführen kann, ohne dass meine STS alle diese Bereiche und Clients und Ressourcen definieren muss. Der Versuch, IDServ4 in meiner Situation einzurichten, machte mir nur Kopfschmerzen, weil ich wusste, dass die meisten Konfigurationen, die ich machte, unnötig waren. Ein sofortiges Abmelden und Anforderungsfiltern sind die einzigen Dinge, bei denen der STS etwas über die Consumer-Apps wissen muss. – Ian

Verwandte Themen