Krz*_*mic 1 openid dotnetopenauth
我正在尝试使用DotNetOpenAuth(最新版本)来使用ASP.NET MVC 2网站.我得到第一部分工作,当用户选择OpenID提供者时调用操作,我得到正确的标识符传入,然后我被正确地重定向到提供者网站,我被重定向回我的网站,但这是问题所在.
我请求的声明为空(请参阅下面的代码).
public ActionResult TryAuth(string openid_identifier)
{
var openid = new OpenIdRelyingParty();
var response = openid.GetResponse();
if(response== null)
{
var req = openid.CreateRequest(openid_identifier);
req.AddExtension(new ClaimsRequest
{
Email = DemandLevel.Require,
Nickname = DemandLevel.Require
});
return req.RedirectingResponse.AsActionResult();
}
switch(response.Status)
{
case AuthenticationStatus.Authenticated:
{
var data = response.GetExtension(typeof(ClaimsResponse)) as ClaimsResponse;
// data is null <-----------------------------------------
return View("Index");
}
}
return View("Index");
}
Run Code Online (Sandbox Code Playgroud)
如果有人能指出我正在制造的(不那么)明显的错误,我将不胜感激.
我遇到了同样的问题,直到我发现对于Google,您必须将电子邮件字段设置为DomainLevel.Require而不是DomainLevel.Request(可选)
fields.Email = DemandLevel.Require;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1130 次 |
| 最近记录: |