W tym wpisie przedstawie, zastosowanie routingu które dodałem do MyTwitter, zapraszam 🙂
W aplikacji dodałem routing dzięki któremu można mieć jedną stronę która będzie wyświetlać widoki, takie jak rejestracja, logowanie, posty. Dzięki takiemu rozwiązaniu będę mieć jeden plik główny app.html i w nim będą wyświetlane osobne widoki. Wygoda takiego rozwiązania jest tak, że w pliku głównym przetrzymuję wszystkie niezbędne biblioteki czy skrypty które muszą być załadowane. W widokach przechowuję tylko zwykły kod html z dodatkami angulara1 przykładowo tutaj.
Logowanie, proces logowania w moim wypadku składa się z dwóch kroków. Pierwszy to wykonanie żądania POST z api/session.js, aby pobrać token JWT (JWT poprzedni wpis). Drugi krok to żądanie GET api/users które jest odpowiedzialne, za faktyczne pobranie danego użytkownika. Następny krok to dodanie pliku konfiguracyjnego w którym będę przechowywać klucz prywatny, w celu utworzenia tokenu JWT. Taki plik warto dodać w katalogu głównym projektu, ponieważ jest to miejsce gdzie przechowuję się klucz API, konfigurację baz danych lub inne ustawienia jak choćby zmiana środowiska, developerskiego na testowe, testowe na stage’owe. Plik nazwałem config.js.
Posty, obecnie aplikacja działa tak, ze klient wysyła nazwę użytkownika. Post powinien być przypisany do konkretnego obiektu, jeżeli użytkownik zmieni nazwę, to dobrze by było aby aplikacja wiedziała, że user @nyweron który zmienił nazwę na @Przemek to nie jest ten sam user. Serwer powinien ustalić użytkownika na podstawie wygenerowanego dla niego tokenu JWT. Teraz muszę wykorzystać pewien myk a dokładniej warstwa pośrednicząca która powoduję dołączenie obiektu auth do żądań i jest odpowiedzialna za wyszukiwanie informacji o bieżącym użytkowniku. Przykład zastosowania auth. Ostatnią rzeczą na tą chwilę którą zrobiłem to wysłanie nagłówka X-Auth wraz z żądaniem utworzenia postu. Naniesione zmiany, od teraz wszystkie żądania będą miały dołączony nagłówek X-Auth, dzięki temu aplikacja będzie tworzyć posty na podstawie zalogowanego użytkownika.
Pozdro 🙂