Gadżety Google i uwierzytelnianie Oauth
Od pewnego czasu wersja angielska strony domowej Google (IG), wygląda nieco inaczej. Na dole strony jest przełącznik i warto z niego skorzystać. Bardzo interesującą rzeczą która już działa (niestety tylko w wersji angielskiej) są gadżety społecznościowe. To nowe API dla programistów gadżetów. Ja potrzebowałem następującej funkcjonalności. Chciałem się dowiedzieć jaki jest adres e-mail użytkownika który uruchamia mój gadżet. Niestety – nie potrafię zrobić tego wprost. Jednak kombinując z biblioteką do zarządzania kontaktami udało mi się to zrobić. Otóż odpytując ta bibliotekę zwraca ona listę kontaktów której właścicielem jest użytkownik o identyfikatorze. Ten identyfikator to adres e-mail którego szukałem;). Jak to działa – przykład jest tutaj. Przykład zadziała tylko w angielskiej wersji serwisu. Po dodaniu gadżetu w
Wyświetl się prośba o autoryzację:
Trzeba wybrać konto Google lub się zalogować
I następnie udzielić dostępu:
W ten sposób nasz zaprogramowany gadżet będzie miał dostęp do ksiązki adresowej użytkownika oraz będzie mógł sprawdzić jego adres e-mail, a także imię i nazwisko.
Niestety, adresowi e-mail otrzymanemy w ten sposób nie możemy ufać. Inny zły programista będzie mógł oszukać naszą aplikację i podać dowolny adres e-mail… Czy znacie jakiś sposób żeby gadżet google mógł sprawdzić adres e-mail zalogowanego użytkownika?
Inny “zły programista”, tworząc pozornie fantastyczny gadżet, może wykorzystać, tę technikę do pozyskania dużej liczby zweryfikowanych adresów email. Na przykład do rozsyłania spamu lub przejmowania kont w google.
Tak, jednak tylko wtedy gdy atakowany internauta wyrazi na to zgodę;)