2011-10-31 19 views
7

Jestem zajęty przeprowadzaniem badań nad korzystaniem z usług REST za pomocą aplikacji mobilnych i doceniłbym pewien wgląd. Scenariusz wygląda następująco.Zabezpieczanie usług REST Grails do użytku z aplikacjami mobilnymi

Zastanów się nad aplikacją internetową, która zapewnia usługę użytkownikom. Aplikacja internetowa będzie również głównym punktem interakcji dla użytkowników. Zostanie to zrobione w Grails i zabezpieczone Spring Security.

Teraz chcemy zapewnić usługę REST, aby użytkownicy mogli korzystać z usługi za pośrednictwem aplikacji mobilnych. Ponieważ Grails ma tak dobre wsparcie dla tworzenia aplikacji WWW RESTful, użyjemy wbudowanej obsługi Grails.

Moje pytanie brzmi, jaki byłby "najlepszy" sposób zabezpieczenia interfejsu usługi REST, aby można go było używać z aplikacji mobilnych (native-iOS, Andriod, WM7, BB).

Wymieniane informacje są bardzo wrażliwe, więc im bezpieczniejsze, tym lepiej.

Dzięki

Odpowiedz

5

Zdecydowaliśmy się podzielić nasz projekt grails w trzech ...

  • modelu domeny-projekt (jest to sekcja "admin" wraz ze wszystkimi views/kontrolera scaffolded, a wszystko usługowa, domena)
  • web-aplikacji (jest to główna aplikacja, sterowniki, wyświetleń)
  • api-rest-app (to kontrolerzy rest)

Projekt domeny-modelu to wtyczka, która jest podłączona do aplikacji internetowej i api-app, zawiera model domeny, usługi oraz wszystkie zabezpieczenia bazy danych, transakcje itp.

Aplikacja internetowa to wszystkie szablony html, widoki i kontrolery, tutaj używamy atrybutów Spring Security

Aplikacja api-rest używamy filtrów grails i używamy Basic-Authorization przez https z tokenem z datą wygaśnięcia data ...

jeśli data ważności tokena zostanie osiągnięta, będziesz musiał poprosić o kolejny token z "żetonem zlecenia", który wysłaliśmy z pierwszym tokenem ... (to mniej więcej l ike OAuth2)

Aby otrzymać dwa pierwsze znaki, trzeba będzie potwierdzić urządzenia za pośrednictwem Logowanie przez użytkownika/telefon/hasło następnie otrzymasz klucz za pomocą wiadomości SMS, które trzeba wprowadzić w aplikacji

nie wiem, czy to najlepszy sposób, ale sposób w jaki to zrobić ...

Czasami używamy internetową aplikację jako klienta i wywołać API rEST aplikację ...

+0

interesujące podejście, myśleliśmy, aby zrobić to samo. Czy możesz udostępnić przykład implementacji filtra? – lucke84

+0

Cześć !, Nie pracuję już nad tym projektem i nie mam src. http://awalkingcity.com/blog/2008/03/07/basic-authentication-and-grails/ tutaj jest to coś bardzo prostego. Mam nadzieję, że pomoże – jjchiw

+0

Muszę na to spojrzeć, okrzyki! – lucke84

Powiązane problemy