2014-03-03 4 views
0

Я пытаюсь создать веб-сайт, который использует методы API обезьян опроса для отображения данных, для чего я создаю библиотеку классов, в которой я буду называть один (только один из некоторого контроллера) метод, который должен выполнять команду пользователя (Я был успешным с трехэтапным процессом, упомянутым на веб-сайте обезьяны опроса), но теперь я хочу вызвать только один метод от контроллера к методу в библиотеке классов, который будет выполнять команду пользователя и устанавливает токен, который может быть позже используется для методов API. Мой код, как это в библиотеке классов:Как использовать метод перенаправления (url) в библиотеке классов?

HttpContext.Current.Response.Redirect(urlToAuthorize); 

//what should be here (I should wait till the user gives credentials and authorize so that I can get the query string) 

string tempAuthCode = HttpContext.Current.Session["code"].ToString(); 
if (!verifyRedirectedTempCode(tempAuthCode)) 
{ 
    return "Not a valid Token"; 
} 
else 
{ 
    try 
    { 
     var webRequest = GetWebRequestForHttpPostOfSurveyMonkeyToken(ApiKey,ClientSecret,tempAuthCode,RedirectUri,ClientId,GrantType,ContentType,WebRequestMethod); 
     using (HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse()) 
     { 
      string tokenJson = new StreamReader(response.GetResponseStream()).ReadToEnd(); 
      AccessToken accesstokenObj = JsonConvert.DeserializeObject<AccessToken>(tokenJson); 
      return accesstokenObj.Token.ToString(); 
     } 
    } 
    catch 
    { 
     return null; 
    } 
} 

}

После перенаправлять его не ждать пользователя в authorize.So, ее не работает точно так, как я имею в виду. Как подождать, пока Пользователь разрешит и соберет эту строку запроса? Это должно быть сделано в самой библиотеке классов.

ответ

3

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

Это означает, что вам нужно . 2 действия для этого: один для инициирования процесса и один для получения полезной нагрузки у поставщика после авторизации.

+0

ohhh ok Спасибо ... – user3324848

 Смежные вопросы

  • Нет связанных вопросов^_^