2016-04-07 8 views
0

Ich habe eine Website, die über verschiedene Domain-Namen (site1.com, www.site1.com site2.com usw.) zugegriffen werden kann. Wenn ich mich anmelden möchte, gebe ich eine Weiterleitungs-URL an, diese Weiterleitungs-URL sollte mit allen möglichen Weiterleitungs-URLs in der Datenbank übereinstimmen.Mehrere Umleitung URL mit DotNetOpenAuth

Ich benutze DotNetOpenAuth (oauth2) in asp.net. Allerdings kann ich eine Client-Anfrage nicht mit dieser Liste der erlaubten Weiterleitungen vergleichen, da ich nur 1 Weiterleitung als gültige URL weitergeben kann.

return new ClientDescription(apiSecret, redirectUri, ClientType.Confidential); 

Hat jemand einen Vorschlag, wie man dieses Problem anpackt?

Antwort

1

ich in einem unserer OAuth2 Server mit DotNetOpenAuth implementiert suchen 4.3.4 und es scheint, dass der Server uns

public IClientDescription GetClient(string clientIdentifier) 

zu implementieren erwartet, die den Server bedeutet, erwartet eine Abstraktion statt konkreter.

Die eigentliche Implementierung wir haben, ist eine benutzerdefinierte Klasse

public class CustomClientDescription : IClientDescription 

, die eine Methode, um die Callback-URL zu validieren hat

public bool IsCallbackAllowed(Uri callback) 

Hier wird Ihre benutzerdefinierte Implementierung der Callback-URL zu einem passen könnte Liste von möglichen Uris eher als eine einzelne uri.