내 asp.net 2.0 및 VS 2005.i에서 dotnetopenid를 사용하고 있습니다.이 작업 만 수행 했으므로 suceful 인증이 me.I에 수행되었습니다. 로그인 페이지가 있고 인증 후 그것은 food.aspx로 이동합니다. 나는 food.aspx에 대한 사용자의 이메일 주소를 google에서 인증 한 후 표시하려고합니다. openid에 대한 다음 작업 만 수행 했으므로 login.aspx에서 작성해야하는 코드를 알려주지 마십시오. 또는 food.aspx를 사용하여 사용자의 전자 메일 주소를 표시합니다.Open ID 웹 페이지에 사용자의 전자 메일 및 전체 이름 표시
<%@ 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>
내가 페이지로드 login.aspx
Protected Sub Page_Load(ByVal sender As Object, ByVal e As OpenIdEventArgs)
Dim openid As New OpenIdRelyingParty()
Dim request As IAuthenticationRequest = openid.CreateRequest("https://www.google.com/accounts/o8/id")
Dim fetch As New FetchRequest()
fetch.Attributes.AddRequired(WellKnownAttributes.Contact.Email)
request.AddExtension(fetch)
request.RedirectToProvider()
End Sub
의 이벤트 및 페이지에이 코드를 썼다 업데이트는 때라도 코드
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
쓰기 Food.aspx의 Evemt로드 하지만 여전히이 줄의 login.aspx 페이지로드 이벤트에서 오류가 발생합니다.
fetch.Attributes.AddRequired(WellKnownAttributes.Contact.Email)
오류, 그가 다시 웹 페이지로 리디렉션됩니다 어떤 사용자가 일 구글 자신을 인증 할 때이
누구든지 내 질문 –
에 답을 적어주세요 라이브러리 이상 사용이 얻을하는 방법을 자세히입니다 내가 usingvb.net을하지 오전 내 문제 –