13

Mam aplikację na Androida przy użyciu pakietu Facebook Android SDK i zostanie ona wdrożona publicznie.Zapobieganie wyświetlaniu hasła do systemu Android Android SDK jako zwykłego tekstu

Mój problem polega na tym, że za każdym razem, gdy użytkownik popełni błąd przy logowaniu za pomocą niewłaściwego hasła, pakiet SDK Facebooka zmieni pole hasła na zwykły tekst, co oczywiście nie będzie dopuszczalne w środowisku publicznym.

Czy istnieje sposób na powstrzymanie tego zachowania?

+0

Przepływ pracy w oknie dialogowym logowania (będący podglądem strony internetowej) jest całkowicie kontrolowany po stronie serwera i nie ma flagi po stronie klienta, która mogłaby go wyłączyć, o ile wiem. –

+0

@Ron Nie ma takiego problemu dla mnie na Androida 3.2. Używam Facebooka Android SDK 3.0. Myślę, że miałem taki problem na iOS, ale nie korzystałem z najnowszej wersji pakietu SDK Facebooka iOS. – Pang

+0

Jeśli Facebook chce, aby pole nie było zasłonięte po błędzie, to wydaje się, że wybór Facebooka jest możliwy, jeśli jest to pole Facebooka, a nie twoje. – CommonsWare

Odpowiedz

2

Okno dialogowe sprawdzania poprawności w oknie dialogowym logowania do SDK Facebooka jest zarządzane od strony serwera Facebooka. A ponieważ nie mamy żadnej kontroli po naszej stronie w celu sprawdzenia poprawności logowania.

Zestaw SDK serwisu Facebook zapewnia widok LoginButton, który jest niestandardową implementacją widoku przycisku. Możesz użyć tego przycisku w swojej aplikacji, aby zaimplementować Facebook Login. Klasa LoginButton utrzymuje stan sesji, co pozwala mu wyświetlać prawidłowy tekst w przycisku na podstawie uwierzytelnionego stanu użytkownika. Dodanie przycisku LoginButton do layoutu działania to szybki sposób na zaimplementowanie Facebook Login.

Wraz z przyciskiem logowania można sterować innymi komponentami interfejsu użytkownika (UI) na podstawie tego, czy użytkownik jest uwierzytelniony, czy nie. Pakiet SDK Facebooka obejmuje dwie klasy: UiLifecycleHelper i Session.StatusCallback, które umożliwiają obsługę wielu złożoności związanych z zarządzaniem zmianami stanu sesji. Działanie lub fragment, w którym wyświetlana jest funkcja uwierzytelniana, może utworzyć instancję klasy UiLifecycleHelper i przekazać ją w detektorze Session.StatusCallback, który jest powiadamiany o wszelkich zmianach stanu sesji. Twoja aktywność lub fragment musi wywoływać publiczne metody odzwierciedlające metody cyklu życia danej czynności lub fragmentu. Te metody służą do tworzenia, otwierania, zapisywania i przywracania aktywnej sesji na Facebooku. Implementacja detektora Session.StatusCallback może zastąpić metodę call(), aby zareagować na zmiany stanu sesji i odpowiednio zaktualizować interfejs.

Tak więc LoginButton steruje funkcją przycisku logowania i można dodać niestandardowy kod wyzwolony z metody call() w celu sterowania innymi składnikami interfejsu użytkownika.

+0

Nie próbowałem twojej odpowiedzi, ale daje mi ona pomysł, jak rozwiązać mój problem. – Ron

+0

Cieszę się, że ci pomogło. Dzięki droga :) – GrIsHu

+0

Czy jest sposób szyfrowania hasła bez przycisku logowania? –

2

Nie, okno logowania jest renderowany od strony Facebooka i okno logowania mobile zawsze pokazuje hasła w postaci zwykłego tekstu na drugiej próbie - nie powinno być uwaga do tego efektu widocznego w oknie, gdy przeładowuje

Powiązane problemy