Можно ли аутентифицировать Rest API с помощью OpenId Connect и передавать учетные данные от клиента - PullRequest
0 голосов
/ 03 июля 2019

У нас есть .Net Core REST API, который защищен аутентификацией OpenId-Connect. Мы должны вызвать его через консольное приложение и хотели бы передать имя пользователя и пароль извне, чтобы нам не приходилось проходить через страницу входа в браузер.

Программный запрос API:

var authRequest = (HttpWebRequest)WebRequest.Create(url);
authRequest.Method = WebRequestMethods.Http.Get;

Возможно ли это?

Спасибо.

Обновление: Вот пример, чтобы сделать это с ADAL: https://github.com/Azure-Samples/active-directory-dotnet-native-aspnetcore/tree/master/TodoListClient. Если вы не используете многофакторную аутентификацию, простой запрос http будет делать, как предложено @NanYu.

1 Ответ

0 голосов
/ 03 июля 2019

Какую реализацию openid connect вы используете? Я сделал это в IdentityServer 4. Все, что вам нужно сделать, это добавить клиента владельца ресурса в конфигурации Identity Sever.

 new Client
            {
                ClientId = "ro.client",
                AllowedGrantTypes = GrantTypes.ResourceOwnerPassword,

                ClientSecrets =
                {
                    new Secret("secret".Sha256())
                },
                AllowedScopes = { "yourScope"} 

См. документы .

...