Après avoir mis à niveau vers MVC2 et le plus récent dotnetopenauth je reçois toujours "Aucun point de terminaison OpenID trouvé." lorsque j'essaie de me connecter en utilisant google apps Je travaille bien sur localhost mais pas sur mon domaine - des idées?dotnetopenauth, MVC2 et aucun point de terminaison OpenID trouvé
namespace TheDataEngineMVCb1.Areas.Admin.Controllers
{
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Linq;
using System.Security.Principal;
using System.Web;
using System.Web.Mvc;
using System.Web.Security;
using System.Web.UI;
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.RelyingParty;
using DotNetOpenAuth.OpenId.Extensions.SimpleRegistration;
[HandleError]
public class AccountController : Controller
{
private static readonly HostMetaDiscoveryService GoogleAppsDiscovery = new HostMetaDiscoveryService
{
UseGoogleHostedHostMeta = true,
};
private static OpenIdRelyingParty openid = new OpenIdRelyingParty();
public ActionResult Index()
{
return View("Index");
}
public ActionResult LoginPopup()
{
return View("LoginPopup");
}
public ActionResult Logout()
{
FormsAuthentication.SignOut();
return Redirect("/Admin");
}
public ActionResult Login()
{
// Stage 1: display login form to user
return View("Login");
}
[ValidateInput(false)]
public ActionResult Authenticate(string returnUrl)
{
openid.DiscoveryServices.Clear();
openid.DiscoveryServices.Insert(0, GoogleAppsDiscovery);
var response = openid.GetResponse();
if (response == null)
{
// Stage 2: user submitting Identifier
Identifier id;
if (Identifier.TryParse(Request.Form["openid_identifier"], out id) && Request.Form["openid_identifier"]!=null)
{
try
{
Session["openid_identifier"] = Server.HtmlEncode(Request.Form["openid_identifier"]);
var request = openid.CreateRequest(Request.Form["openid_identifier"]);
return request.RedirectingResponse.AsActionResult();
}
catch (ProtocolException ex)
{
ViewData["Message"] = ex.Message;
return View("Login");
}
}
else
{
ViewData["Message"] = "Invalid identifier";
return View("Login");
}
}
else
{
// Stage 3: OpenID Provider sending assertion response
switch (response.Status)
{
case AuthenticationStatus.Authenticated:
string authEmail = Request["dnoa.userSuppliedIdentifier"].ToString();
FormsAuthentication.SetAuthCookie(authEmail, false);
if (!string.IsNullOrEmpty(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
case AuthenticationStatus.Canceled:
ViewData["Message"] = "Canceled at provider";
return View("Login");
case AuthenticationStatus.Failed:
ViewData["Message"] = response.Exception.Message;
return View("Login");
}
}
return new EmptyResult();
}
}
}
Cela a fonctionné mais étrange qui changerait lors de la mise à niveau vers MVC2 (cela a bien fonctionné avec MVC1) - merci – pch