Обработка ответа ADFS на ядре ASP.Net - PullRequest
0 голосов
/ 23 мая 2018

Я следовал документации asp о том, как интегрировать аутентификацию WSFederation.Кажется, все работает нормально, когда я нажимаю на кнопку входа в систему, я перенаправляю на аутентификацию ADFS, и если я вхожу в систему, меня перенаправляют на пользовательский URL моего собственного сайта, который является my-site / signin-federation , и у меня есть на форме сообщения вся необходимая информация:

wa: wsignin1.0
wresult: <t:RequestSecurityTokenResponse 
xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust"><t:Lifetime> 
<wsu:Created xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401- 
wss-wssecurity-utility-1.0.xsd">2018-05-23T11:08:47.185Z</wsu:Created> 
<wsu:Expires xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401- 
wss-wssecurity-utility-1.0.xsd">2018-05-23T12:08:47.185Z



....


<t:KeyType>http://schemas.xmlsoap.org/ws/2005/05/identity/NoProofKey</t:KeyType> 
</t:RequestSecurityTokenResponse>
wctx: CfDJ8Lp0GPWDKXhKtxXAHQ4o3dnyz4eNuSpptiYpvV5V4p3k- 
x0vqv5k3mUfURKB37wOgTPsPfT7ThPoS7fwQMDmZzgXDRcvKG5ZWrorGj3TZLBQew5rKtoU9vjP4_4O 
AdvsySsre3GL9yycNirU6ld_Gn_YKVYguhRygMLKkajlM3vtbsM2XYiFdTgRIcPt_l1xJNwOD2KblRh-xTuiHnli0wVokPt-gokwP7uIbo7E50j2mL15oL802QF_c_U_-4nB81oBouZXJSw7rCY-ahzVIFc

Я помещаю идентификационное имя в освящение, как объяснено в документах.Итак, теперь в моем приложении ASP.Net Core по моему пользовательскому URL-адресу я получил следующее:

[HttpPost]
[AllowAnonymous]
[Route("/signin-federation")]
public async Task<IActionResult> ExternalLoginCallback(string returnUrl = null, string remoteError = null)
{
    if (remoteError != null)
    {
        return RedirectToAction(nameof(Login));
    }
    var info = await _signInManager.GetExternalLoginInfoAsync();
    if (info == null)
    {
        return RedirectToAction(nameof(Login));
    }

    // Sign in the IdentityUser with this external login provider if the IdentityUser already has a login.
    var result = await _signInManager.ExternalLoginSignInAsync(info.LoginProvider, info.ProviderKey, isPersistent: false, bypassTwoFactor: true);
    if (result.Succeeded)
    {
        return Redirect(returnUrl);
    }
    return Ok();
}

, но информация всегда пуста, и я не знаю, как принудительно проанализировать данные формы ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...