je suis en train d'installer DotNetOpenAuth en utilisant la OpenIdAjaxTextBox mais j'ai deux problèmesDotNetOpenAuth obtenir email et redirigez problème
je veux être en mesure d'obtenir l'adresse e-mail des utilisateurs et je pense que cela est fait dans le loggedin événement (droit?) mais cet événement n'est jamais appelé, j'ai essayé d'y mettre un point d'arrêt mais je n'y arrive jamais. Quand je tape dans le fournisseur openid dans le OpenIdAjaxTextBox (disons Gmail), je reçois le bouton de connexion dans la zone de texte, donc je clique dessus une nouvelle fenêtre apparaît et affiche le formulaire de connexion Gmail mais après je tape mon nom d'utilisateur et mot de passe et cliquez sur connexion que la fenêtre popup rafraîchir et mon propre site charge dans cette fenêtre, je m'attendrais à ce que la fenêtre pop-up se ferme après que je me connecte ne pas rediriger vers mon site.
est ici le code I à l'aide
<%@ Register Assembly="DotNetOpenAuth" Namespace="DotNetOpenAuth.OpenId.RelyingParty"
TagPrefix="openid" %>
<openid:OpenIdAjaxTextBox ID="OpenIdAjaxTextBox1" runat="server"
OnLoggingIn="openIdtxtbx_LoggingIn"
OnLoggedIn="openIdtxtbx_LoggedIn"
OnClientAssertionReceived="onauthenticated(sender)"
OnUnconfirmedPositiveAssertion="openIdtxtbx_UnconfirmedPositiveAssertion" />
Protected Sub openIdtxtbx_LoggedIn(ByVal sender As Object, ByVal e As OpenIdEventArgs)
' Do something here
Dim claimedId As String = e.Response.Status
End Sub
Protected Sub openIdtxtbx_LoggingIn(ByVal sender As Object, ByVal e As OpenIdEventArgs)
' Retrieve the email address of the user
Dim c As New ClaimsRequest
c.Email = DemandLevel.Require
e.Request.AddExtension(c)
End Sub
Protected Sub openIdtxtbx_UnconfirmedPositiveAssertion(ByVal sender As Object, ByVal e As OpenIdEventArgs)
' This is where we register extensions that we want to have available in javascript
' on the browser.
OpenIdAjaxTextBox1.RegisterClientScriptExtension(Of ClaimsResponse)("sreg")
End Sub
1. J'ai effectué une publication et l'événement LoggedIn se déclenche comme prévu. – Murre
2. à propos de la fenêtre contextuelle, j'ai couru l'échantillon et j'ai été capable de reproduire le problème là. J'ai modfied la ligne 14 ajaxlogin.aspx.cs de Email = DemandLevel.Request, à Email = DemandLevel.Require, alors je viens de changer le niveau de la demande à Exiger et cela provoque la fermeture de la fenêtre popup. J'ai donc fait un peu plus de débogage et j'ai découvert que l'erreur est due à une "instance d'un objet introuvable" qui provient de la "ReportAuthenticationResult() ligne 1413" dans le codage source (v.3.2.2.9257). (J'ai essayé google et yahoo en tant que fournisseur openid.) une idée de ce que je fais mal? – Murre
btw, tu fais un boulot génial avec openid Andrew :) ceux que mon application web est en marche tu peux espérer un don – Murre