Введите в запросе токен нулевой или пустой - кирпично-красный Social Auth - PullRequest
0 голосов
/ 16 мая 2011

Мне нужно импортировать контакты, чтобы пользователи моего веб-приложения могли отправлять приглашение своим друзьям со своего сайта, я использую SocioAuth API с открытым исходным кодом, чтобы сделать это, я написал 2 сервлета чтобы сделать это, я вставляю код моего сервлета. когда я развернул приложение в своем экземпляре Ec2, я получаю исключение, в котором говорится: «Токен запроса ключа пуст или пуст в строке № 27 NewSocialAuthentication,

пакет com.auth.actions;

import java.io.IOException; import java.io.PrintWriter;

import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;

import org.brickred.socialauth.AuthProvider; import org.brickred.socialauth.AuthProviderFactory;

открытый класс NewSocialAuthentication расширяет HttpServlet {

/**
 * 
 */
private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    System.out.println("Coming to doGet of NewSocialApp..");
    @SuppressWarnings("unused")
    PrintWriter out = response.getWriter();
    String socialAppId = request.getParameter("id");
    System.out.println("SocialAppId: "+socialAppId);
    AuthProvider provider;
    try {
        provider = AuthProviderFactory.getInstance(socialAppId);
        String returnToUrl = "http://ec2-50-19-118-108.compute-1.amazonaws.com/SocialAuthNew6/return";
        System.out.println("Return URL..." + returnToUrl);
        String urlString = provider.getLoginRedirectURL(returnToUrl);
        System.out.println("URLString: "+urlString);
        request.getSession().setAttribute("SocialAuth", provider);
        response.sendRedirect(response.encodeRedirectURL(urlString));
    } catch (Exception e) {
        System.out.println("Exception...");
        e.printStackTrace();
    }
}

}

package com.auth.actions;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.brickred.socialauth.AuthProvider;
import org.brickred.socialauth.Contact;
import org.brickred.socialauth.Profile;
import org.brickred.socialauth.util.*;

public class ReturnServlet extends HttpServlet{

    /**
     * 
     */


    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("Coming to doGet of Return Servlet..");
        try{
            AuthProvider provider = (AuthProvider)request.getSession().getAttribute("SocialAuth");//this the line is rising exception 
            Profile p = provider.verifyResponse(request);
            System.out.println(p.getFirstName());
            List<Contact> contactsList = provider.getContactList();
            for(int i=0;i<contactsList.size();i++){
                response.setContentType("text/html");
                PrintWriter out = response.getWriter();
                System.out.println(contactsList.get(i).getFirstName()+" : "+contactsList.get(i).getLastName());
                out.println(contactsList.get(i).getFirstName());
                out.println(contactsList.get(i).getLastName());

            }
        }
        catch(Exception e){
            e.printStackTrace();
        }
    }

}

1 Ответ

0 голосов
/ 19 июля 2011

Это сервлет, который перенаправляет к поставщику услуг электронной почты

import java.io.IOException; import java.io.PrintWriter;

import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;

import org.brickred.socialauth.AuthProvider; import org.brickred.socialauth.AuthProviderFactory;

/ ** * Класс реализации сервлета NewSocialAuthentication * / открытый класс NewSocialAuthentication extends HttpServlet { приватный статический финал long serialVersionUID = 1L;

/**
 * @see HttpServlet#HttpServlet()
 */
public NewSocialAuthentication() {
    super();
    // TODO Auto-generated constructor stub
}

/**
 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
 */
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    @SuppressWarnings("unused")
    PrintWriter out = response.getWriter();
    String socialAppId = request.getParameter("id");
    System.out.println("SocialAppId: "+socialAppId);
    AuthProvider provider;
    try {
        provider = AuthProviderFactory.getInstance(socialAppId);
        //String returnToUrl = "http://ec2-50-16-183-101.compute-1.amazonaws.com/SocialAuthNew/return";

        String returnToUrl = "u r returning url ";

        System.out.println("Return URL..." + returnToUrl);
        String urlString = provider.getLoginRedirectURL(returnToUrl);
        System.out.println("URLString: "+urlString);
        request.getSession().setAttribute("SocialAuth", provider);
        response.sendRedirect(response.encodeRedirectURL(urlString));
    } catch (Exception e) {
        System.out.println("Exception...");
        e.printStackTrace();
    }
}

/**
 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
 */
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
}

}

URL-адрес возврата будет выглядеть следующим образом: я вставил в jsp

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1" pageEncoding = "ISO-8859-1" %> <% @ page import = "org.brickred.socialauth.AuthProvider"%> <% @ page import = "org.brickred.socialauth.Contact"%> <% @ page import = "org.brickred.socialauth.AuthProvider"%> <% @ page import = "org.brickred.socialauth.Profile"%> <% @ page import = "java.util. *"%> Введите название здесь

КОНТАКТНЫЙ ЛИСТ

<% пытаться{ AuthProvider provider = (AuthProvider) request.getSession (). GetAttribute ("SocialAuth"); пытаться{ System.out.println (provider.getContactList ()); } поймать (исключение е) { System.out.println («Обнаружено исключение ..»); } Профиль p = provider.verifyResponse (запрос); List contactsList = provider.getContactList (); %>

Здравствуйте, <% = p.getFirstName ()%>

Список контактов

Имя Эл. адрес <% <br> для (int i = 0; i "/> <% = contactsList.get (i) .getFirstName ()%> <% = contactsList.get (i) .getEmail ()%> <% } %>
 </table>
 <input type="submit" value="GET CONTACTS"/>
 </form>

<% <br> } поймать (исключение е) { e.printStackTrace (); } %>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...