2013-07-22 15 views
7

Wiem, że to pytanie zostało zadane tysiące razy wcześniej, ale nadal nie jestem w stanie właściwie zrozumieć odpowiedzi. Kiedy szukałem w Google informacji o tym temacie, znalazłem większość osób sugerujących użycie Oauth do zabezpieczenia Restful webservice.Jak zabezpieczyć spokojny serwis internetowy oauth?

Uważam, że oauth ma zastosowanie tylko wtedy, gdy aplikacje innych firm mają zezwalać na dostęp do zabezpieczonych zasobów bez udostępniania poświadczeń użytkownika.

W moim przypadku chcę zapewnić spokojną usługę, do której dostęp ma tylko nasza własna aplikacja mobilna. Nie jestem w stanie zrozumieć, że tylko w tym celu mogę wykorzystać oauth do zabezpieczenia spokojnych zasobów. Moim wymaganiem jest to, że po raz pierwszy użytkownik wprowadzi swoje referencje do aplikacji. Po pomyślnym uwierzytelnieniu aplikacja otrzyma token dostępu, który następnie zostanie wykorzystany do uzyskania dostępu do zabezpieczonych zasobów.

Podczas gdy w przypadku ouath użytkownik najpierw zostaje przekierowany na stronę internetową dostawcy autoryzacji z aplikacji mobilnej (przyjmując aplikację mobilną jako aplikację strony trzeciej), gdzie wprowadza dane uwierzytelniające, a następnie poprzez adres URL oddzwonienia aplikacja mobilna otrzymuje token dostępu uzyskać dostęp do zabezpieczonych zasobów.

Przeczytałem przewodnik po projektowaniu Web API od Apigee, w którym zdecydowanie zaleca się użycie ouath. W rzeczywistości usługi aplikacji Apigee są zabezpieczone za pomocą oauth i robią te same rzeczy, które muszę użyć oauth. Zgodnie z poleceniem curl pokazuje, jak uzyskać token dostępu przy użyciu nazwy użytkownika i hasła, zgodnie z dokumentacją API apigee.

curl -X POST -i -H "Content-Type: application/json" " https://api.usergrid.com/my-org/my-app/token " -d '{"grant_type":"password","username":"john.doe","password":"testpw"}'

Moje pierwsze pytanie jest taka, że ​​jeśli pójdę za to samo podejście, które umożliwia aplikacja strony trzeciej, aby uzyskać dostęp bez tokena przekierowania i zwrotnego, będzie to skutkować naruszeniem specyfikacji OAuth czy nie?

Moje drugie pytanie dotyczy tego, czy możemy użyć ouath dla scenariuszy, w których żadna aplikacja stron trzecich nie jest zaangażowana, a bezpieczny dostęp do zasobów jest pomiędzy użytkownikiem aplikacji i dostawcą zasobów bez żadnego potwierdzenia.

+0

Znaleziona odpowiedź na blogu technicznym hybris. Scenariusz, który omawiałem w wątku, jest omówiony w przepływie hasła właściciela Oauth2. http://techblog.hybris.com/2012/06/11/oauth2-resource-owner-password-flow/ – Noor

+0

Stajesz się swoim własnym dostawcą OAuth, a następnie Twoja aplikacja mobilna może skonfigurować własnego klienta OAuth, który używa tego dostawca. –

Odpowiedz

Powiązane problemy