poniedziałek, 29 października 2007

Debiut na codeguru.pl

W pewnym momencie postanowiłem zacząć dzielić się swoją wiedzą z innymi i "przelewać" ją w formę ogólnodostępnych publikacji. A dlaczego nie ? Czyż to nie fajnie poszerzać swoją wiedzę na temat nowych technologii i udostępniać zdobyte informacje szerszej publice?

Na portalu codeguru.pl została opublikowana pierwsza część mojego artykułu "Wprowadzenie do Cardspace"

piątek, 19 października 2007

Cardspace .NET 3.5 - "user experience" (2)

Znów kolejna porcja informacji o ulepszonym interfejsie użytkownika w Cardspace w .NET 3.5 na blogu twórców. Z jednej strony interfejs ma ulec "odchudzeniu", by prezentować jedynie potrzebne okna i informacje. Z drugiej strony zostaną dodane niektóre opcje, by usprawnić korzystanie z selektora kart.
A teraz już konkretnie do rzeczy:
- okno "Out of Box Experience" zostanie usunięte, jako niewiele wnoszące
- zmianie ulegnie okno do tworzenia/edycji karty, gdy użytkownik chce skorzystać z usługi wybranego RP. Użytkownikowi zostaną pokazane do uzupełnienia tylko wymagane pola, a pola opcjonalne będą domyślnie nieaktywne (można je włączyć checkboxem). Zostanie dodany też przycisk "Send", by od razu po stworzeniu karty można było ją wysłać (obecnie trzeba ją najpierw zapisać)
- jeśli żadna z kart nie spełnia wymogów polityki RP, wyświetlenie możliwości utworzenia nowej karty bądź instalacji zarządzanej (obecnie albo pojawia się okienko bez kart albo z wyszarzonymi wszystkimi kartami)
- jeśli RP wymaga karty osobistej i żadna karta użytkownika nie spełnia wymagań, to karta osobista z niepełnym zakresem danych zostanie podświetlona z adnotacją, że trzeba ją uzupełnić (obecnie wszystkie karty są wyszarzane)

wtorek, 9 października 2007

Cardspace 3.5 - nowe informacje

Na blogu twórców Cardspace zostały umieszczone nowe informacje. Wraz z .NET 3.5 otrzymamy możliwość wyświetlania użytkownikowi własnych informacji o błędach zwracanych przez wystawcę tożsamości (np. można umieścić tam poradę i dane kontaktowe supportu).

czwartek, 4 października 2007

Cardspace 3.5 - zmiany w "user experience"

Twórcy Cardspace jak na razie dotrzymują słowa i w swoim blogu zamieszczają nowe informacje na temat zmian w .NET 3.5.

Modyfikacji wizualnej ulegnie okno dialogowe, które jest wyświetlane, gdy użytkownik chce nawiązać komunikację z daną witryną po raz pierwszy. Informacje o podmiocie będą teraz prezentowane w trzech trybach :
- certyfikatu Extended Validation (EV) SSL (kolor tła zielony i kłódka, na zdjęciu)
- zwyczajnego certyfikatu SSL (kłódka, informacja co jest, a co nie jest weryfikowane)
- bez certyfikatu (żółta tarcza z wykrzyknikiem, informacja o braku weryfikacji)

Jak pamiętamy, trzeci tryb zostanie dodany wraz .NET 3.5

środa, 3 października 2007

Cardspace - czy jednak takie wspaniałe?

Badając w praktyce możliwości Cardspace można odnieść wrażenie, że przynajmniej część implementacji w przykładach MS powinna wchodzić w zakres frameworka lub jego narzędzi. Nie za bardzo mogę zgodzić się z tezą, że technologia nie wymaga dużego wkładu programisty. Owszem zintegrowanie ze stroną HTML czy klientem WCF może nie musi być pracochłonne, ale już stworzenie pełnego systemu wymaga napisania wcale niemałej ilości kodu. Wydaje się, że przetwarzanie tokenu na stronie ASP.NET, generowanie kart zarządzanych (przykład MS to w zasadzie narzędzie z linii komend czytające parametry karty z plików konfiguracyjnych .ini), budowanie STS-a mogłoby zostać jeszcze bardziej uproszczone (przykład MS będący prostym STS-em wystarczy do eksperymentów, ale nie obejmuje wszystkich możliwości).

Konieczność konfigurowania m.in certyfikatów w magazynie, certyfikatów z SSL-em, praw odczytu klucza prywatnego, domen (w Windows Vista ponadto uprawnień do hostowania pod adresem o danej masce) powoduje, że uzyskiwanie tożsamości za pomocą karty może nie działać z różnych powodów. Do swoich przykładów MS porobił dość złożone skrypty konfiguracyjne, co trochę ratuje sprawę -:)

Korzystanie z kart zarządzanych wymaga również pewnego zakresu wiedzy i praktyki:
- karty wymagające karty osobistej: PPID nie jest zawsze ten sam, zależy od klucza publicznego bądź danych RP. Tak więc PPID należy odczytać na stronie legitymującej się takim certyfikatem jak wystawca tożsamości.
- karty wymagające certyfikatu X.509: certyfikat powinien być zainstalowany w gałęzi Current User/ Personal (jeśli nie wkładamy karty inteligentnej do czytnika)
- karty wymagające hasła - tu po prostu wpisujemy hasło
- karty wymagające Kerberosa - nic się nie podaje (MS w przykładowym STS-ie tego przypadku nie uwzględnia)

Do Cardspace nie ma zbyt wiele przykładów. Np. nie znalazłem przykładu MS z WCF i kartami zarządzanymi (wszyscy podają przykłady na WCF z kartami osobistymi i karty zarządzane ze stroną WWW). Próbowałem uzyskiwać token do serwisu WCF z przykładowego STS-a. Na blogu Martin'a Parry jest parę wskazówek. Niestety poza plikiem konfiguracyjnym serwisu kod projektu nie został tam udostępniony. W rozwiązaniu problemu posunąłem się jednak krok do przodu: STS parsuje token RST i generuje token RSTR. Autor bloga daje cenną wskazówkę: przykładowy STS akceptuje tylko klucze asymetryczne (w innym przypadku nie może sparsować przychodzącego tokenu, czego doświadczyłem na własnej skórze - ustaliłem to po zdebugowaniu STS-a). Jednak przy próbie wysłania przez STS tokenu do klienta, ten ostatni się wykrzacza. W logach klienta WCF można znaleźć info: At least one security token in the message could not be validated. Po wielu próbach skonfigurowania klienta WCF (przynajmniej na razie) poddałem się -:(( Jakby ktoś jednak znalazł gdzieś w Internecie działający przykład lub wiedział jak to skonfigurować, to proszę o kontakt