2015-04-26 1 views
1

В настоящее время я пытаюсь создать логин для веб-приложения MVC, используя Box SDK для .NET. Я не могу для жизни меня обернуть голову вокруг процесса входа в Oauth. Я чувствую, что у меня это близко, но действительное действие POST меня сбивает с толку.Oauth with Box SDK (C# MVC .NET)

Вот этот процесс, который я пытаюсь выполнить: https://developers.box.com/oauth/ Я застрял на части «Первая нога».

я прохожу в моей Ури и атрибуты данных, чтобы отправлять по назначению

var data = new List<KeyValuePair<string, string>> 
     { 
      new KeyValuePair<string, string>("response_type", "code"), 
      new KeyValuePair<string, string>("client_id", client_id), 
      new KeyValuePair<string, string>("box_login", account_email) 
     }; 

     HttpResponseMessage values = await Post("https://app.box.com/api/oauth2/authorize", data); 

С обычаем Post() метод обертка:

public static async Task<HttpResponseMessage> Post(string uri, List<KeyValuePair<string, string>> pairs) 
    { 
     using (HttpClient client = new HttpClient()) 
     { 
      var content = new FormUrlEncodedContent(pairs); 
      var response = await client.PostAsync(uri, content); 
      return response; 
     } 

    } 

Но «ценностями» содержимое вернувшимися с HTML для страницы авторизации коробки. Предположительно, я должен перенаправить на эту страницу ... Я просто не знаю, как лучше всего это сделать (и затем вернуться).

Я чувствую, что все это, вероятно, сводится к моему непониманию того, как работает POST. Какую очевидную и простую вещь мне не хватает?

ответ

0

OAuth означает внешнюю аутентификацию. Вы должны перенаправить пользователя на страницу Box OAuth, а затем отправить запрос на отправку. URL-адрес перенаправления в вашем приложении будет определять, куда будет отправлен токен авторизации, а затем вы можете получить этот код авторизации и обменять его с помощью доступа и обновления токена с помощью Box .NET SDK или с помощью пользовательского запроса.

Первый этап OAuth не является частью SDK.