Получить код авторизации Box api в C#

У меня есть проблема, я хочу получить доступ к окну с кодом:

using (var request1 = new HttpRequestMessage() { RequestUri = new Uri("https://www.box.com/api/oauth2/token"), Method = HttpMethod.Post })
        {
            HttpContent content = new FormUrlEncodedContent(new[] 
            { 
             new KeyValuePair<string, string>("grant_type", "authorization_code"), 
             //new KeyValuePair<string, string>("code", boxAccessCode),
             new KeyValuePair<string, string>("client_id", boxClientId),
             new KeyValuePair<string, string>("client_secret", boxClientSecret)

            }


            );
        }

но я не знаю, как я могу получить "код", без в Интернете http://127.0.0.1/?state=security_token%3DKnhM%C3%B1lkjasdasnM0nHlZA&code=RCaBKsE681239OPyYLLWwutg9Nwmmk

Как я могу получить этот код с помощью C#?

1 ответ

В Box есть хорошая документация по потоку OAuth2: https://box-content.readme.io/

Процесс начинается с перехода браузера / веб-просмотра на страницу аутентификации, которая должна начинаться с https://app.box.com/api/oauth2/authorize. Я не уверен, что представляет URL в конце вашего вопроса, но если это URL-адрес перенаправления, URL-адреса обратной связи обычно не рекомендуется.

Короче говоря, вы должны перейти на страницу авторизации с соответствующими параметрами (например, идентификатор клиента / секрет, URL-адрес перенаправления) после успешного входа в систему, окно перенаправит ваше веб-представление на предоставленный URL-адрес перенаправления, где код авторизации будет предоставлен в виде параметр строки запроса. Использование C# это, вероятно, будет означать, что вам нужно будет запустить какое-то веб-представление.

В C# SDK есть пример WPF, который выполняет весь поток OAuth: https://github.com/box/box-windows-sdk-v2

Другие вопросы по тегам