Buduję aplikację, w której wymagania wydają się standardowym problemem (przynajmniej dla mnie) ... Mam Web.UI na podstawie klientów asp .net mvc & od iphone, andriod & blackberry.. N-tier tożsamości i autoryzacji w architekturze usług
Więc rozsądną rzeczą do zrobienia jest przeniesienie całej mojej logiki biznesowej do warstwy usług, która może być dostępna przez http. Ta warstwa usług musi akceptować żądania z kontekstem użytkownika (tożsamością) iw pewien przyjemny sposób wykonywać autoryzację niezależnie od tego, z którym typem klienta komunikuje się (mam nadzieję?).
Przez rok robiłem 3-miesięczny koncert z udziałem W.I.F. (Windows Identity Foundation) w hybrydowej lokalnej architekturze w chmurze &. Lubię to. Trzy rzeczy, które uderzyły w akord, to (1) uwierzytelnianie na zewnątrz i nie dbanie o to, jak to się stało, (2) usuwanie logiki autoryzacji z logiki biznesowej, (3) autoryzacja na podstawie roszczeń.
W ciągu ostatniego roku słyszałem i obserwowałem wszystko o usługach wypoczynkowych "nowym, hipisowskim sposobie robienia rzeczy". Więc chociaż świetnie, spróbujmy. Po tym, jak zacząłem grać wokół kodowania, zacząłem się bardzo zagmatwać (a następnie przeczytać około 10 godzin wczoraj bez pisania kolejnej linii C#). Nadal jestem zdezorientowany wszystkimi rozmowami SOAP, REST, WS. * I Http, SAML i SWT. Naprawdę nie chcę tego wątku na ten temat, ponieważ jest wystarczająco dużo tego, co mówi na temat stackoverflow, ale czuję, że mam wybór między dwoma obozami, kiedy tak naprawdę nie mam ochoty na jedno lub drugie ale kawałki od każdego?
Dla mnie 3 punkty, o których wspomniałem powyżej o WIF, nie wydają się być koncepcjami, które powinny być związane z WS. *? Ale mam wrażenie, że oni, a przynajmniej jak WIF przychodzi w tej chwili, czyni ich, bez jakiegoś eksperta (np. Natknąłem się na ten post napisany zaledwie kilka dni temu - http://zamd.net/2011/02/08/using-simple-web-token-swt-with-wif/).
Pozostałe obszary, o których nie wiem zbyt wiele, to moi klienci (iphone, andriod, blackberry) zdolne do grania w WIF, czy to ten sam STS, który rzuca im token SAML i zachowują się jak przeglądarka i przekazać go z powrotem w nagłówku, tak jak każdy inny klient? Tak, będę musiał się tego dowiedzieć, ale jeśli to jest złamanie umowy z W.I.F i dowiedziałem się o tym zaraz po zamieszczeniu tego, to przynajmniej mogę się od niego skupić.
Wreszcie, aby dodać jeszcze jedną rzecz do miksu. Naprawdę nie chcę o tym myśleć. Chcę korzystać z dostawcy uwierzytelniania/tożsamości innej firmy - http://www.janrain.com/products/engage - który, jak sądzę, korzysta z OpenID. Czy to pasuje do W.I.F. czy mogę po prostu utworzyć nowy token SAML z OpenID i używać WIF od tego momentu.
Pod koniec tego bełkotu chcę wrócić do miejsca, w którym zacząłem, ponieważ jest coraz bardziej skomplikowane, im więcej pytań zadaję i tym więcej opcji rozważam.
Czy istnieje warstwa usług (w WCF), która komunikuje się z różnymi klientami nie -.net, która wymaga kontekstu tożsamości i autoryzacji tak dziwnego? Jeśli zbudowałeś coś takiego, jak do tego doszło?
Token SAML jest po prostu formatem osadzonym w ciasteczku .... Przyznane mogą być bardzo duże, ale jeśli nie jest przeznaczony do zdmuchiwania, nie widzę powodu, dla którego tokenu SAML nie można użyć na wielu platformach. –
Aby wyjaśnić w tym miejscu nie jestem tak zainteresowany autoryzacją i korzystaniem z SAML na kliencie, bardziej interesuje mnie to w warstwie usług. Muszę wiedzieć, że klienci mogą nosić token jako przeglądarkę. Innymi słowy, mogę przyjąć, co mówisz "Wniebowzięcie" w swojej odpowiedzi. –
Nie sądzę, że aplikacja na iPhone'a jest taka sama jak korzystanie z safari na twoim iPhonie? Myślę, że masz zamiar tego użyć - http://developer.apple.com/library/ios/#documentation/DataManagement/Conceptual/iPhoneCoreData01/Introduction/Introduction.html ... W każdym razie, chciałbym wiedzieć jeśli ktokolwiek rzeczywiście miał pęknięcie na szerszym obrazie. –