2016-04-07 4 views
0

J'ai un site accessible via différents noms de domaine (site1.com, www.site1.com site2.com etc.). Lorsque je veux me connecter, je spécifie une URL de redirection, cette URL de redirection doit correspondre à l'URL de redirection possible dans la base de données. J'utilise DotNetOpenAuth (oauth2) dans asp.net. Cependant, je ne peux pas laisser une requête client correspondre à cette liste de redirections autorisées car je ne peux transmettre qu'une seule redirection comme URL valide.URL de redirection multiple avec DotNetOpenAuth

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

Est-ce que quelqu'un a une suggestion sur la façon de résoudre ce problème?

Répondre

1

Je suis à la recherche à l'un de nos serveurs OAuth2 mis en œuvre avec DotNetOpenAuth 4.3.4 et il semble que le serveur nous attend à mettre en œuvre

public IClientDescription GetClient(string clientIdentifier) 

qui signifie que le serveur attend une abstraction plutôt que d'un type concret.

La mise en œuvre réelle que nous avons est une classe personnalisée

public class CustomClientDescription : IClientDescription 

qui a une méthode pour valider l'URL de rappel

public bool IsCallbackAllowed(Uri callback) 

C'est là votre implémentation personnalisée pourrait correspondre à l'URL de rappel à un liste d'uris possible plutôt qu'un seul uri.