MVC 3 で DotNetOpenAuth を使用しています。OpenId で認証できます。
したがって、コントローラーを指す私の URL には、OpenId= という変数が追加されています。
次に例を示します。
https://www.google.com/accounts/o8/id?id=DFtOawDkCUoLb3YxPzmrEI59-JisZiAeR-NWw-0
http://mysite.com/Account/Register?OpenID= .......
OpenId アカウントの電子メールと名前を取得し、ビューに表示するにはどうすればよいですか?
switch (response.Status)
{
case AuthenticationStatus.Authenticated:
LogOnModel lm = new LogOnModel();
lm.OpenID = response.ClaimedIdentifier;
// Check if user exist
MembershipUser user = MembershipService.GetUser(lm.OpenID);
if (user != null)
{
lm.UserName = user.UserName;
FormsService.SignIn(user.UserName, false);
}
return View("LogOn", lm);
case AuthenticationStatus.Canceled:
ViewBag.Message = "Canceled at provider";
return View("LogOn");
case AuthenticationStatus.Failed:
ViewBag.Message = response.Exception.Message;
return View("LogOn");
}