Facebook Android SDK を使用する Android アプリがあり、公開されます。
私の問題は、ユーザーが間違ったパスワードでログインすると、Facebook SDK がパスワード フィールドをプレーン テキストに変更することです。これは明らかに公共の環境では受け入れられません。
この動作を抑制する方法はありますか?
Facebook Android SDK を使用する Android アプリがあり、公開されます。
私の問題は、ユーザーが間違ったパスワードでログインすると、Facebook SDK がパスワード フィールドをプレーン テキストに変更することです。これは明らかに公共の環境では受け入れられません。
この動作を抑制する方法はありますか?
Facebook SDKログインダイアログの検証フローは、Facebookのサーバー側から管理されます。また、ログイン検証を制御することはできません。
Facebook SDKは、ボタンのカスタムビュー実装であるLoginButtonビューを提供します。アプリでこのボタンを使用して、Facebookログインを実装できます。LoginButtonクラスはセッション状態を維持します。これにより、ユーザーの認証された状態に基づいて、ボタンに正しいテキストを表示できます。LoginButtonをアクティビティのレイアウトに追加すると、Facebookログインをすばやく実装できます。
ログインボタンに加えて、ユーザーが認証されているかどうかに基づいて、他のユーザーインターフェイス(UI)コンポーネントを制御したい場合があります。Facebook SDKには、セッション状態の変更の管理に関する複雑さの多くを処理するための2つのクラスUiLifecycleHelper
とが含まれています。認証された機能を表示するアクティビティまたはフラグメントは、クラスSession.StatusCallback
のインスタンスを作成し、セッション状態の変更が通知されるリスナーを渡すことができます。アクティビティまたはフラグメントは、アクティビティまたはフラグメントのライフサイクルメソッドを反映するパブリックメソッドを呼び出す必要があります。これらのメソッドは、アクティブなFacebookセッションの作成、オープン、保存、および復元に使用されます。リスナーの実装は、UiLifecycleHelper
Session.StatusCallback
UiLifecycleHelper
Session.StatusCallback
call()
セッション状態の変化に応答し、それに応じてUIを更新するメソッド。
したがってLoginButton
、ログインボタンの機能call()
を制御し、メソッドからトリガーされるカスタムコードを追加して、他のUIコンポーネントを制御できます。
いいえ、ログイン ダイアログは Facebook 側からレンダリングされ、モバイル ログイン ダイアログは常に 2 回目の試行でプレーン テキストでパスワードを表示します - ダイアログをリロードすると、その旨がダイアログに表示されます。