我有GAE申请 我需要:
我的问题是我在做第3步,第5步和第7步时真的迷失了。我想我甚至不需要OpenId这样做。我已经阅读了联合登录,OpenId,OAuth2和用户API上的谷歌代码页,但我找不到混合它们的方法(在客户端放什么?在服务器端放什么?我需要创建一个特殊的Servlet?我可以使用RPC异步服务吗?我是否需要编写一个http请求客户端并要求一个特殊的servlet?等等...)。当我使用GAE时,我没有任何JSP文件,只有一个入口点html页面,其中包含所需的最小html。
如果有人能给我链接到源代码(Java),我会很高兴。
感谢。
答案 0 :(得分:2)
我也有混合使用谷歌应用引擎的OpenID和OAuth登录,你可以混合使用。最后在我的情况下,我选择谷歌和Facebook作为提供商和谷歌登录内置和Facebook登录是OAuth。确实应该有一种更方便的方式来“添加OAuth提供者”并将自己添加为OAuth提供者,就像我们添加Twitter和Facebook一样,但是在这个阶段或多或少地自己编程并遵循OAuth 2.0登录/注销流程独立于您执行的实现(Java,python,PHP ..),因为OAuth 2.0流程是相同的,无论您使用哪种语言,例如OAuth与Facebook一起使用GAE:
您可能需要阅读大型提供商Facebook的OAuth页面,了解如何进行身份验证流程。
答案 1 :(得分:0)
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException
{
UserService userService = UserServiceFactory.getUserService();
User user = userService.getCurrentUser();
if (user != null) //checks if USER is logged in or not
{
//if USER is logged in this code will execute or you can redirect user to another page
resp.setContentType("text/plain");
resp.getWriter().println("Hello, " + user.getNickname());
} else { //if USER is null, which means its not logged in then this code will execute.
String returnURL = "/home.jsp";
resp.sendRedirect(userService.createLoginURL(returnURL));
//createLoginURL method will provide the Google Login URL to sendRedirect method
//after user log in on the Google login page, the user will be redirected to the URL in returnURL variable
}
}
来源= http://code.google.com/appengine/docs/java/gettingstarted/usingusers.html