Pegar URL de retorno

1 resposta
tripa

Bom dia senhore,
estou brincando com a API spring social fazendo uma integração com o facebook. Para isso criei um projeto web bem simples com servlet para testar a autentificação.
Durante o processo de autentificação, envio uma requisição para o facebook, e ele me retorna em uma url de retorno pré cadastrada, inserindo o parâmetro access_token.

Minha dificuldade é: não consigo pegar a url de retorno com o parâmetro

Veja como envio a requisição para o facebook:

public void autenticarSpringComFacebook(HttpServletResponse response) throws IOException {
	
		FacebookConnectionFactory connectionFactory = new FacebookConnectionFactory("XXXXXXX", "YYYYYY");
		OAuth2Operations oauthOperations = connectionFactory.getOAuthOperations();
		OAuth2Parameters params = new OAuth2Parameters();
		//params.setScope("user_about_me,user_birthday,user_likes,user_status,publish_stream");
		params.setRedirectUri("http://localhost:8080/TesteFaceWeb/loginAuthenticate");
		String authorizeUrl = oauthOperations.buildAuthorizeUrl(GrantType.IMPLICIT_GRANT, params);

		response.sendRedirect(authorizeUrl);

}

No response.sendRedirect(authorizeUrl); envio a requisição e sou redirecionado segundo a url de retorno "http://localhost:8080/TesteFaceWeb/loginAuthenticate", para tratar o retorno
recebo em um outro servlet:

public class loginAuthenticate  extends HttpServlet{  
    public void doGet(HttpServletRequest request, HttpServletResponse response)  
    throws IOException, ServletException {  
  
    	System.out.println("Iniciando");
    	
		//Imprimindo no prompt os parametros retornados
    	Enumeration e = request.getParameterNames();
    	PrintWriter out2 = response.getWriter ();
    	while (e.hasMoreElements()) {
    		String name = (String)e.nextElement();
    		String value = request.getParameter(name);
    		System.out.println(name + " = " + value);
    	}
    
    	response.setContentType("text/html");
    	
    	PrintWriter out = response.getWriter();  
    	 
        // Agora vamos escrever o conteudo da pagina  
        out.println("<HTML>");  
        out.println("<BODY>");  
        out.println("<H1>Retornou!!!</h1>");
        out.println("</body>");  
        out.println("</html>");  
  
    } 
    
}

Neste servlet imprimo no prompt os parâmetros que estou recebendo no retorno, porém não há parâmetros nos prints .

Os fatos são que,

* realmente o retorno acontece, porque a execução passa pelo servlet que trata o retorno
* Não há parametros no retorno
* e o mais incrível: no browser, ao executar o teste, a url aparece no navegar perfeita mostrando inclusivel o parametro access_token.

Como faço para recuperar essa url que aparece para o usuário no browser?

Obrigado!

1 Resposta

tripa

Bem senhores,
parece que para o problema, vou precisar do request.getHeader(“Nome Header”) disponivel na versão 3 da API Servlet,
como usu jboss 4 precisarei atualizar ele também…vamos lá

Criado 15 de abril de 2013
Ultima resposta 16 de abr. de 2013
Respostas 1
Participantes 1