2013-05-08 2 views
0

Я работаю над веб-приложением, которое получает gmail моих пользователей. Для аутентификации OAuth я создаю вызов Ajax из пользовательского интерфейса в HTTPHandler и из HttpHandler. Я делаю вызов HttpWebRequest GET на сервер google. Я получаю ответ на полную HTML-страницу (вход в Google User), которую я просматриваю в пользовательском интерфейсе моего приложения. И после входа в систему и нажатия на логин, он ничего не делает. В соответствии с документом на самом деле нужно перенаправить на страницу google и после получения согласия пользователя я должен получить ответ на предоставленную Redirect_uri. Ничего подобного не происходит. Ниже приведен код в моем методе запроса метода hanlder.C#: аутентификация OAuth 2.0 не перенаправляется для получения согласия пользователя

общественный недействительный ProcessRequest (HttpContext контекст) {

String url = "https://accounts.google.com/o/oauth2/auth?scope=https%3A%2F%2Fmail.google.com%2Fmail%2Ffeed%2Fatom&response_type=code&access_type=offline&redirect_uri=http%3A%2F%2Flocalhost%3A50639%2FresponseHandler.ashx&approval_prompt=force&client_id=XXXXXXXXXXXX.apps.googleusercontent.com"; 


     HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(url); 
     webrequest.Method = "GET"; 
     HttpWebResponse response = (HttpWebResponse)webrequest.GetResponse(); 
     Stream picasaResponse = response.GetResponseStream(); 
     HttpContext.Current.Response.Redirect(response.ResponseUri.ToString()); 
     StreamReader picasaReader = new StreamReader(picasaResponse); 
     string picasaAPIResponse = picasaReader.ReadToEnd(); 
     Response.InnerHtml = picasaAPIResponse; 
     context.Response.ContentType = "text/plain"; 
     context.Response.Write(response); 
    } 

Заранее спасибо.

ответ

0

Вы должны перенаправить своих пользователей на URL-адрес auth (либо с помощью переадресации полной страницы, либо во всплывающем окне) вместо получения URL-адреса.

+0

Спасибо Чао, я получил его работу ... – user2360498

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