Package in.partake.controller.action.auth

Source Code of in.partake.controller.action.auth.LoginByTwitterAction

package in.partake.controller.action.auth;

import in.partake.app.PartakeApp;
import in.partake.base.PartakeException;
import in.partake.controller.action.AbstractPartakeAction;
import in.partake.model.dao.DAOException;
import in.partake.resource.Constants;
import in.partake.resource.ServerErrorCode;
import in.partake.service.ITwitterService;
import in.partake.session.TwitterLoginInformation;
import play.cache.Cache;
import play.mvc.Result;
import twitter4j.TwitterException;

public class LoginByTwitterAction extends AbstractPartakeAction {
    private static final int LOGIN_TIMEOUT_SEC = 300;

    public static Result get() throws DAOException, PartakeException {
        return new LoginByTwitterAction().execute();
    }

    public Result doExecute() throws DAOException {
        try {
            ITwitterService twitterService = PartakeApp.getTwitterService();
            String redirectURL = getParameter("redirectURL");
            TwitterLoginInformation info = twitterService.createLoginInformation(redirectURL);

            String sessionId = session().get(Constants.Session.ID_KEY);
            assert sessionId != null;
            Cache.set(Constants.Cache.TWITTER_LOGIN_KEY_PREFIX + sessionId, info, LOGIN_TIMEOUT_SEC);

            return renderRedirect(info.getAuthenticationURL());
        } catch (TwitterException e) {
            return renderError(ServerErrorCode.TWITTER_OAUTH_ERROR, e);
        }

    }
}
TOP

Related Classes of in.partake.controller.action.auth.LoginByTwitterAction

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.