13

FacebookのAndroid SDKを使用しているAndroidアプリを公開しています。FacebookのAndroid SDKがパスワードをプレーンテキストとして表示しないようにする

私の問題は、ユーザーが間違ったパスワードで間違ってログインすると、Facebookのパスワードフィールドがプレーンテキストに変更されることです。これは明らかに公共の環境では受け入れられません。

この現象を抑制する方法はありますか?

+0

ダイアログログインワークフロー(ウェブビュー)は、サーバー側で完全に制御されています。私が知る限り、それを無効にするクライアント側のフラグはありません。 –

+0

@Ron Android 3.2ではこのような問題はありません。私はFacebook Android SDK 3.0を使用しています。私はiOSでこのような問題があったと思うが、私はFacebook iOS SDKの最新バージョンを使用していなかった。 – Pang

+0

Facebookは、エラーの後にそのフィールドが覆われないことを望むなら、あなたのものではなくFacebookのフィールドであれば、Facebookが選択するように思えます。 – CommonsWare

答えて

2

をリロードすると、ダイアログに表示その旨の注記があるはずですFacebook SDKログインダイアログの検証フローは、Facebookのサーバー側から管理されます。そして、我々はログインの検証のために私たちの側で何のコントロールも持っていない。

Facebook SDKは、ボタンのカスタム表示の実装であるLoginButtonビューを提供します。あなたのアプリでこのボタンを使ってFacebookログインを実装することができます。 LoginButtonクラスはセッション状態を維持します。これにより、ユーザーの認証済み状態に基づいてボタンに正しいテキストを表示できます。アクティビティのレイアウトにLoginButtonを追加することは、Facebookログインを実装するための素早い方法です。

ログインボタンとともに、ユーザーが認証されているかどうかに基づいて、他のユーザーインターフェイス(UI)コンポーネントを制御できます。 Facebook SDKには、セッション状態の変更管理に関する複雑さの大部分を処理するために、UiLifecycleHelperSession.StatusCallbackの2つのクラスが含まれています。認証された機能を表示するアクティビティまたはフラグメントは、UiLifecycleHelperクラスのインスタンスを作成し、セッション状態の変更が通知されたSession.StatusCallbackリスナを渡すことができます。アクティビティまたはフラグメントは、アクティビティまたはフラグメントのライフサイクルメソッドを反映するパブリックメソッドUiLifecycleHelperにコールする必要があります。これらのメソッドは、アクティブなFacebookセッションの作成、オープン、保存、および復元に使用されます。 Session.StatusCallbackリスナの実装では、call()メソッドをオーバーライドして、セッションの状態の変化に応答し、それに応じてUIを更新できます。

したがって、LoginButtonはログインボタンの機能を制御し、call()メソッドからトリガーされたカスタムコードを追加して、他のUIコンポーネントを制御することができます。

+0

私はあなたの答えを試していないが、それは私の問題についてどうやって行くかについてのアイデアを与える。 – Ron

+0

あなたを助けてくれてうれしいです。親愛なるおかげで:) – GrIsHu

+0

ログインボタンなしで暗号化されたパスワードに方法はありますか? –

2

いいえ、ログインダイアログがFacebookの側からレンダリングおよびモバイルログインダイアログが常に2回目の試行にプレーンテキストでパスワードを示している - それは

関連する問題