【发布时间】:2011-04-28 05:43:34
【问题描述】:
我无法获取GetExtension 方法中返回的电子邮件地址,但它包含在 Google(我正在测试的 OP)发回给我的 url 中。
if (Page.IsPostBack)
{
using (var openid = new OpenIdRelyingParty())
{
var request = openid.CreateRequest(Request.Form["openid_identifier"]);
var fetch = new FetchRequest();
fetch.Attributes.Add(new AttributeRequest(WellKnownAttributes.Contact.Email, true));
request.AddExtension(fetch);
request.RedirectToProvider();
}
}
else
{
using (var openid = new OpenIdRelyingParty())
{
var response = openid.GetResponse();
if (response != null)
{
switch (response.Status)
{
case AuthenticationStatus.Authenticated:
var claimsResponse = response.GetExtension<FetchRequest>();
break;
case AuthenticationStatus.Canceled:
//this.loginCanceledLabel.Visible = true;
break;
case AuthenticationStatus.SetupRequired:
//this.loginFailedLabel.Visible = true;
break;
// We don't need to handle SetupRequired because we're not setting
// IAuthenticationRequest.Mode to immediate mode.
////case AuthenticationStatus.SetupRequired:
//// break;
}
}
}
}
有人知道怎么回事吗?
【问题讨论】:
-
"但它包含在 Google 的 url 中" ...您的问题的一部分似乎丢失了。请注意修改?
标签: c# .net dotnetopenauth