簡體   English   中英

如何將 URL 參數從 GWT 客戶端發送到服務器端進行驗證

[英]How to send URL parameters from GWT client to Server side for validation

我正在改進現有的 GWT 項目,我正在使用 PING 添加身份驗證。

所以這就是流程:

  1. 用戶輸入應用程序 URL http://...../library-ui
  2. 我想使用 servlet 過濾器來過濾所有 URL 並檢查 URL 中的代碼參數,如果我在 URL 中沒有看到代碼參數,我想將它們重定向到 PING 身份驗證 URL。
  3. 一旦 PING 驗證它重新定向到http://...../library-ui/?code=xxxxxx
  4. 需要此“代碼”才能獲取關於用戶的 JwT 令牌

我在下面添加一個過濾器:

public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain filterChain) throws IOException, ServletException {

    HttpServletRequest httpRequest = (HttpServletRequest) request;
    System.out.println(httpRequest);
    String requestURI = httpRequest.getParameter("code");

    System.out.println(requestURI);
    if (!requestURI.contains("code")) {
        HttpServletResponse httpResponse = (HttpServletResponse) response;
        httpResponse.sendRedirect("https://pingwebsite/as/authorization.oauth2?client_id=XXX&response_type=code");
    }
    filterChain.doFilter(request, response);
}

但問題是我的請求 URI 沒有代碼參數。

System.out.println(requestURI); 打印 - 圖書館用戶界面。

一旦我從 URL 中獲取代碼,我就可以繼續進行下去。

我能夠解決這個問題,我不得不使用 window.location 從瀏覽器獲取詳細信息並對服務器端執行 RPC 調用。 然后我不得不使用授權碼請求 PING 來獲取 Jwt 令牌並驗證它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM