Top
Aplikacja www

Przesłanie Id tokena do serwletu

Przesłanie id tokena do serwletu

Kontynuując logowanie za pomocą Google dziś prześlę id token do serwletu gdzie będzie odbywała się weryfikacja użytkownika. Przesłanie tych danych metodą “POST” wykonana zostanie za pomocą JavaScript.

2 kroki do przesłania id tokena

  1. Przesłanie id tokena metodą “POST” za pomocą obiektu XMLHttpRequest w javaScript wygląda nstępując:
    function onSignIn(googleUser) {
    
    				// The ID token you need to pass to your backend:
    				var id_token = googleUser.getAuthResponse().id_token;
    				console.log("ID Token: " + id_token);
    
    				var xhr = new XMLHttpRequest();
    				xhr
    						.open('POST',
    								'https://localhost:8443/schedule-calendar/GoogleLogInServlet');
    				xhr.setRequestHeader('Content-Type',
    						'application/x-www-form-urlencoded');
    
    			};
    			xhr.send('idtoken=' + id_token);
    			};
  2. Aby odebrać wartość zmiennej “idtoken” stworzyłem serwlet, który w późniejszym etapie będzie miejscem weryfikacji użytkownika. Jego funkcją w obecnym momencie będzie jedynie wypisanie na konsoli zawartości zmiennej “idtoken“:
    package in.greendev.dsp2017.model.controller;
    
    import java.io.IOException;
    import java.sql.Date;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import com.google.api.client.googleapis.auth.oauth2.GoogleIdToken.Payload;
    import com.google.api.client.http.HttpTransport;
    import com.google.api.client.http.javanet.NetHttpTransport;
    import com.google.api.client.json.jackson2.JacksonFactory;
    
    import in.greendev.dsp2017.model.Client;
    import in.greendev.dsp2017.model.DB.EntityManagerAccess;
    import in.greendev.dsp2017.model.google.GoogleLogInTools;
    
    public class GoogleLogInServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    
    public GoogleLogInServlet() {
    super();
    }
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    }
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    
    String idTokenString = request.getParameter("idtoken");
    System.out.println(idTokenString);
    
    }
    }

Kolejny krok to weryfikacja użytkownika i odczytanie jego danych.

Link do filmiku na youtube: https://youtu.be/RFoJQKlr2B0

Link do repozytorium (branch 03_05_2017):https://github.com/greendevmedia/DSP2017.git

 
 

Portal greendev.in nie jest kolejnym standardowym portalem dla programistów. To strona dla ludzi spędzających większość dnia na krześle. Właśnie tutaj dowiesz się jak Twój umysł może wejść na wyższy poziom, a Ty po prostu czuć się lepiej i zdrowiej każdego dnia.

Strona zawiera informacje i przemyślenia autora które mogą nie być zgodne z korporacyjnymi zasadami oraz wytycznymi idealnych praktyk programowania. Jednak nauka programowania to próby, pomyłki i zbieranie doświadczenia z tych błędów. Autor rekomenduje własne refleksje i nie przyjmowanie przedstawianych koncepcji za jedyne słuszne.

Więcej informacji na temat strony znajdziesz tutaj http://www.greendev.in/o-stronie/.

Jeżeli tylko chcesz mnie lepiej poznać wpadnij na http://www.greendev.in/kim-jestem/.