В последнем выпуске и обсуждении ниже говорится, что теперь Katana (4.1.0) поддерживает поток кода с автоматическим c выкупом кода (это означает, что у нас нет явного вызова tokenendpoint для выкупа кода для idtoken, accesstoken et c)
https://github.com/aspnet/AspNetKatana/pull/297
Итак, я обновил dll Katana и имею p
Notifications = new OpenIdConnectAuthenticationNotifications()
{
RedirectToIdentityProvider = OnRedirectToIdentityProvider,
//MessageReceived = OnMessageReceived, -- previous I were calling token endpoint in this notification
SecurityTokenReceived = notification => Task.FromResult(0),
SecurityTokenValidated = OnSecurityTokenValidated,
AuthenticationFailed = OnAuthenticationFailed,
AuthorizationCodeReceived = AuthorizationCodeReceived, -- added this notification per latest improvements
TokenResponseReceived = TokenResponseReceived
}
и реализацию здесь
private Task AuthorizationCodeReceived(AuthorizationCodeReceivedNotification arg)
{
return Task.FromResult(0);
}
и я ожидаю, что промежуточное программное обеспечение вызовет конечную точку токена для погашения кода авторизации, чего не происходит.
Я что-то здесь упускаю? Должен ли я добавить код здесь для промежуточного программного обеспечения, чтобы выкупить код? Пожалуйста, сообщите ie ..
Обновление:
Я установил ниже, как и в других блогах,
args.App.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
//other properties removed for brevity
SaveTokens = true,
RedeemCode = true,
}
все еще Midleware не выкупает коды автоматически.
Просто мысль, поддерживается ли это в ядре. NET? Я на самом деле использую. NET Framework 4.7.1.