1
J'utilise OpenId sur un nouveau site Web et j'essaie d'obtenir des informations de base sur l'utilisateur, voir le code ci-dessous. Pourquoi est toujours le suivant null?DotNetOpenId - Open Id obtenir des données
var myData = response.GetExtension<ClaimsResponse>();
Et le code principal
[System.Web.Mvc.AcceptVerbs(HttpVerbs.Get)]
public ActionResult LogOn()
{
var openid = new OpenIdRelyingParty();
IAuthenticationResponse response = openid.GetResponse();
if (response != null)
{
switch (response.Status)
{
case AuthenticationStatus.Authenticated:
FormsAuthentication.RedirectFromLoginPage(
response.ClaimedIdentifier, false);
var myData = response.GetExtension<ClaimsResponse>();
break;
case AuthenticationStatus.Canceled:
ModelState.AddModelError("loginIdentifier",
"Login was cancelled at the provider");
break;
case AuthenticationStatus.Failed:
ModelState.AddModelError("loginIdentifier",
"Login failed using the provided OpenID identifier");
break;
}
}
return View("Register");
}
[System.Web.Mvc.AcceptVerbs(HttpVerbs.Post)]
public ActionResult LogOn(string loginIdentifier)
{
if (!Identifier.IsValid(loginIdentifier))
{
ModelState.AddModelError("loginIdentifier",
"The specified login identifier is invalid");
return View();
}
else
{
var openid = new OpenIdRelyingParty();
IAuthenticationRequest request = openid.CreateRequest(
Identifier.Parse(loginIdentifier));
// Require some additional data
request.AddExtension(new ClaimsRequest
{
Email = DemandLevel.Request,
FullName = DemandLevel.Request
});
return request.RedirectingResponse.AsActionResult();
}
}
Pour tous ceux qui rencontrez ce problème, consultez cette - http://dotnetopenauth.net:8000/wiki/CodeSnippets/OpenIDRP/ AXFetchAsSregTransform Je peux maintenant obtenir un email de Google, mais toujours pas de Yahoo (je ne pense pas qu'ils soutiennent AX) – LiamB
Liam, Yahoo ne vous donnera pas d'attributs utilisateur sauf si vous êtes sur leur liste blanche spéciale de RP, qui seulement un poignée des RP sont. Donc, si vous recevez un e-mail de Google, je dirais que vous avez raison. –
Ive a réussi à le craquer maintenant, merci pour cela. C'est l'article wiki que j'ai posté ci-dessous qui m'a aidé! À votre santé! – LiamB