Asp.net 在网页上打开ID显示电子邮件和用户全名

Asp.net 在网页上打开ID显示电子邮件和用户全名,asp.net,vb.net,openid,Asp.net,Vb.net,Openid,我在我的asp.net 2.0和VS 2005中使用dotnetopenid。我只做了这项工作,成功的身份验证由我完成。我有一个登录页面,身份验证后它会转到food.aspx。我只想在谷歌验证后在food.aspx上显示用户的电子邮件地址。我只为openid做了以下工作,没有其他工作请告诉我必须在login.aspx或food.aspx中编写哪些代码才能显示用户的电子邮件地址 <%@ Register Assembly="DotNetOpenAuth" Namespace="DotNetO

我在我的asp.net 2.0和VS 2005中使用dotnetopenid。我只做了这项工作,成功的身份验证由我完成。我有一个登录页面,身份验证后它会转到food.aspx。我只想在谷歌验证后在food.aspx上显示用户的电子邮件地址。我只为openid做了以下工作,没有其他工作请告诉我必须在login.aspx或food.aspx中编写哪些代码才能显示用户的电子邮件地址

<%@ Register Assembly="DotNetOpenAuth" Namespace="DotNetOpenAuth.OpenId.RelyingParty" TagPrefix="rp" %>
<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"    Namespace="System.Web.UI" TagPrefix="asp" %>

<rp:OpenIdLogin ID="OID" runat=server Identifier="https://www.google.com/accounts/o8/id" ></rp:OpenIdLogin>
并在Food.aspx的页面加载Evemt,编写以下代码

  Dim openid As OpenIdRelyingParty = New OpenIdRelyingParty
        Dim response = openid.GetResponse
        If (Not (response) Is Nothing) Then
            Select Case (response.Status)
                Case AuthenticationStatus.Authenticated
                    Dim fetch = response.GetExtension
                    Dim email As String = String.Empty
                    If (Not (fetch) Is Nothing) Then
                        email = fetch.GetAttributeValue(WellKnownAttributes.Contact.Email)
                    End If
                    FormsAuthentication.RedirectFromLoginPage(response.ClaimedIdentifier, False)
            End Select
        End If
但仍在此行中获取登录.aspx页面加载事件中的错误

fetch.Attributes.AddRequired(WellKnownAttributes.Contact.Email)
错误是

AddRequired is not a member of System.Collections.ObjectModel.KeyedCollection
(Of DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest

我能为此做些什么

当您的用户在Google上进行身份验证时,他将被重定向回您的网页。 由于您使用的是开放Id,所以当用户被重定向回您的网页时,您可以使用属性交换来获取用户电子邮件和全名

现在,您需要做的就是从响应中提取电子邮件和用户名,并根据需要显示/存储它们

下面是如何使用上述库获取此信息的详细信息


任何人请回答我的问题Stackoverflow团队中是否有人可以解决我的问题先生,我使用的是vb.net而不是c#所以我也将该代码转换为vb.net,但该代码中存在编译错误,并告诉我必须编写的代码或我必须在web应用程序中编写的任何其他代码了解java,但您需要在2个步骤中编写代码1.当用户被重定向到登录页面2)当用户在身份验证后返回您的页面时。我相信您可以理解我们的编译问题,因为它们一定是某种语言语法错误。这是我们的另一个参考you@user1109140:您可以开始显示新问题你做了什么你面临什么错误你可以将问题标记为不可接受,否则会给人一种问题已经解决的印象。我的建议是用vb开始新的问题和标记。我已经发布了一个新问题,我的完整代码是c#请检查这里并帮助我
AddRequired is not a member of System.Collections.ObjectModel.KeyedCollection
(Of DotNetOpenAuth.OpenId.Extensions.AttributeExchange.AttributeRequest