Как получить токен доступа и Id токен в Asp.Net (Owin Mvc) Openid Connect - PullRequest
0 голосов
/ 23 октября 2019

При входе в систему он попадает в Identity Provider и после ввода учетных данных (имя пользователя, пароль) он перенаправляет в приложение. Следующие типы грантов являются гибридными, авторизация_код потока. Когда поток авторизации имеет 4 параметра (code, clientid, clientsecret, redirecturi), когда этот запрос будет пройден, мы получим токен доступа и идентификатор токена.

В моем случае я не получил токен доступа после передачи кода авторизации.

вот мой класс запуска: AuthorizationCodeПолученный код

                   AuthorizationCodeReceived = async token =>
                    {
                    var tokenClient = new HttpClient();
                    var tokenResponse = await tokenClient.RequestAuthorizationCodeTokenAsync(new AuthorizationCodeTokenRequest
                    {
                        Address = "authority/token",
                        RedirectUri = "redirecturi,
                        ClientId = "clientid",
                        ClientSecret = "clientsecret",
                        Code = token.Code
                    });
                    if (tokenResponse.IsError)
                    {
                        throw new Exception(tokenResponse.Error);
                    }

                    var userInfoResponse = await tokenClient.GetUserInfoAsync(new UserInfoRequest
                    {
                        Address = "address/connect/userinfo",
                        Token = tokenResponse.AccessToken
                    });
                },
...