У меня серьезные проблемы с приложением, которое должно интегрироваться с поставщиком открытых идентификаторов Microsoft.Microsoft OpenId login
Я использую ASP.NET MVC 5 с библиотеками Microsoft.Owin. Мой файл Startup.Auth выглядит так:
app.UseMicrosoftAccountAuthentication(new MicrosoftAccountAuthenticationOptions()
{
ClientId = ConfigurationManager.AppSettings["msClientId"],
ClientSecret = ConfigurationManager.AppSettings["msClientSecret"]
});
[HttpGet]
public ActionResult ExternalLogin(string provider, string connectionId)
{
return new ChallengeResult(Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(provider), Request.Url.GetLeftPart(UriPartial.Authority) + "/Login/ExternalLoginCallback?connectionId=" + connectionId);
}
Мой класс вызов Результат выглядит следующим образом:
private class ChallengeResult : HttpUnauthorizedResult
{
public ChallengeResult(string provider, string redirectUri)
: this(provider, redirectUri, null)
{
}
public ChallengeResult(string provider, string redirectUri, string userId)
{
LoginProvider = provider;
RedirectUri = redirectUri;
UserId = userId;
}
public string LoginProvider { get; set; }
public string RedirectUri { get; set; }
public string UserId { get; set; }
public override void ExecuteResult(ControllerContext context)
{
var properties = new AuthenticationProperties() { RedirectUri = RedirectUri };
if (UserId != null)
{
properties.Dictionary[XsrfKey] = UserId;
}
context.HttpContext.GetOwinContext().Authentication.Challenge(properties, LoginProvider);
}
}
я, к сожалению, сразу я перенаправлены на счет входа в систему Microsoft я просто получаю:
Предоставленное значение для входного параметра «redirect_uri ' не действует. Ожидаемое значение: «https://login.live.com/oauth20_desktop.srf» или URL, который соответствует URI редиректа, зарегистрированным для этого клиентского приложения. & состояние = 9Y9inDc4SVQTd_I4ZoLwuLPTZa5i-4NapEWzuspU9B_jz1t4aXfPY239FXx2xyI-v9xW-0fgU0kwsZVzYXOtiPhoGH9_h4aiS2Q7FlJGFNviREMLRNnfHfeYoG0m0wSgO7ZZcsJztIcgPEPdo70HkN4mCynng6bx7-nR6i7WN7DQ0SYRXrxmb2hhHDvxTWeTQAfpxKWAezJzDqdEfhoDx1VyRGC-5pCxVbhB5VF2Sb9x5TL0KWb4tXgjYSHbejDlzwMQfgcVf0SB0qRRIi2YNCEbWi6_KbGADRCN-DZ7rpVd_n695nRNQXwhQvYHTqAJr3L1dny3NvbCmYJ9SRIt6w
В качестве фактического URL. На странице только что написана техническая проблема. Я немного теряю.
Я проверил, что запрос, отправленный к фактическому MS поставщику и это выглядит следующим образом: (Примечание замены для очевидных соображений безопасности)
Но я проверил, что Id клиент прав и параметр redirect_uri соответствует параметру, установленному в настройке учетной записи MS.
/oauth20_authorize.srf?client_id= & Объем = wl.basic & response_type = & код redirect_uri = & состояние = zFGr4tzGDqMUpH7yVp0dB8JNoM_D6SFSiLa3NoKhF15O5mAkW7N51wB9vjzs1_PR7WQewUWYjLxfHY865EwN3EuEVIHp_S4m_q32s9DPG_dNsZ_wdEsOUe7FE3VY16jPS6WWeI-VnMu12RXvIqVnvH9tVXVc8QLUe8s1sZc5HFYWCtqiyejmw-MKO4MV1_DRoisn2lAO6rRhvyT-LvZBzZ20-CiFkxmVhq8DzdCnFn3Ya7sWyNzTzu1d1u_q71VBY_ot5sqUx-YEvLqcaNwDOHmFUVTpe5ynVKc8203pxqwlpNbfy8hrqxBuJWAGhiHuOIAMo5HuRv8kJJgmGOz4OQ
Заранее спасибо.
Является ли это в среде разработки? какой URL-адрес вы используете для своего приложения, настроили ли вы его в файле хоста и используете локальный IIS? – DSR
Привет, Да, попробовали как среду разработки, так и локальную среду. У нас есть правило в сети, которое перенаправляет определенный URL-адрес. localhost.xxx.com - 127.0.0.1. Я пробовал живой URL-адрес и, похоже, не работает. Оба отказались с той же проблемой :-( –