Vous avez probablement résolu cela avant. P>
Je dois pouvoir utiliser l'identifiant ouvert dans un environnement qui n'a pas de session collant. Les serveurs conservent les en-têtes. P>
J'utilise ASP.NET MVC et DOTNETOPENID version 3.2.0.9177. Bien que l'authentification sur le site Web tiers se passe sans attelage lors du retour de la réponse, je reçois une erreur et une authentification échoue. P>
Toutes les pensées? P>
3 Réponses :
Utilisation de DotNetOpenid, vous devriez pouvoir persister l'état dont vous avez besoin lors de l'authentification du client via un cookie. P>
J'ai utilisé quelque chose de similaire pour tenir quelque chose dans Tempdata, mais tous les exemples de code pour le dotNetopénide? Je ne le connais pas encore. Merci
Je n'ai pas d'exemples de code à la main, mais vérifiez le lien que j'ai fourni.
étatful fort> p>
La méthode la plus optimisée consiste à écrire un magasin de persistance personnalisé qui implémente Une solution beaucoup plus facile qui suffira à la plupart des scénarios est d'utiliser le mode apatride à la place, de sorte qu'aucun État n'a besoin d'être partagé sur les serveurs de votre web Farm. P>
Vous pouvez activer le mode apatride en instanciant ou si vous utilisez les contrôles ASP.NET, définissez simplement IrelyingPartyApplicationStore code> pour les "secrets" que OpenID RPS nécessite et transmettez votre instance sur le
OpenidyryingParty (IrelyingPartyApplicationStore) code) > Constructeur ou enregistrez-le dans votre fichier web.config . P>
OpenidyrelingParty Code> Passage
null code> dans l'instance de votre magasin d'applications. Appeler le constructeur par défaut provoquera l'utilisation de son magasin en mémoire dans la mémoire, ce qui se casse sur les fermes du serveur. Le constructeur par défaut est donc insuffisant. P>
apatride = true code> sur le contrôle. P>
Merci. La partie apatride semble l'avoir réparé.
Voici comment nous activons le mode apatride:
var uri = new Uri(Request.Url, Request.RawUrl); var openid = new OpenIdRelyingParty(null, uri, Request.HttpMethod == "GET" ? Request.QueryString : Request.Form);
Ce constructeur de trois paramètres est approprié pour DotNetOpenid 2.x, tandis que le constructeur de paramètres unique pour le mode apatride convient à DotNetOpenauth 3.x.
Merci M. coding horreur / un des créateurs-de-Stackoverflow. Je vais l'essayer lundi matin.