Я использую Google oath2.0 в своем приложении ADF
.После того, как пользователь предоставил свои учетные данные, он передает поток на Servlet
(обратный вызов servlet
), где я получаю информацию о пользователе и сохраняю ее в сеансе. После сохранения сеанса я перенаправляю ответ на другую страницу (page1.jsf
) где я отображаю информацию пользователя из области сеанса, используя #{sessionScope.user_info}
.Проблема даже после сохранения значений в области сеанса в CallbackServlet.java я не могу получить эти значения.это ничего не возвращает.
вот мой код
@WebServlet(name = "CallbackServlet", urlPatterns = { "/callbackservlet" })
public class CallbackServlet extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=UTF-8";
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
String state = request.getParameter("state");
String code = request.getParameter("code");
MyGoogleHelperClass ghc = new MyGoogleHelperClass();
String json = ghc.getUserInfoJson(code);
System.out.println(state+"-"+json);
ADFContext.getCurrent().getSessionScope().put("user_info", json);
response.sendRedirect("http://127.0.0.1:7101/GoogleAdf-ViewController-context-root/faces/page1.jsf");
}
}
в page1.jsf
<h:outputText value="#{sessionScope.user_info}" id="ot1"/>
Что я здесь не так делаю?servlet
является частью моего adf
приложения.