Автоматическое погашение кода (кода авторизации) c с использованием последней версии DLL-файлов Katana в потоке кода авторизации openId - PullRequest
0 голосов
/ 29 января 2020

В последнем выпуске и обсуждении ниже говорится, что теперь 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.

1 Ответ

0 голосов
/ 30 января 2020

На самом деле, вышеприведенные настройки работали и вызывали API-токены, но в моих настройках отсутствовал сбой из-за "clientsecret", после исправления все работало просто отлично. Спасибо.

...