Facebook でシングル サインのデモ アプリを実行したところ、次の結果が得られました。
そして、私が欲しいのは、実際には次のようなものです:
Web ビューとして表示しないようにしたいのですが、どうすればよいですか?
Facebook でシングル サインのデモ アプリを実行したところ、次の結果が得られました。
そして、私が欲しいのは、実際には次のようなものです:
Web ビューとして表示しないようにしたいのですが、どうすればよいですか?
ここで私の答えを見てください(これはこの質問に答えます):
私の警告にも注意してください。OAuthは、アプリケーションの外部で認証するように設計されていますが、この場合、内部で機能させることができます(ただし、OAuthのコア原則に違反します)。
Facebook.mを変更します
- (void)authorize:(NSArray *)permissions {
self.permissions = permissions;
// with both options NO, authorization always happens in-app
[self authorizeWithFBAppAuth:NO safariAuth:NO];
}
アプリが認証またはログインを要求すると、アプリケーションはブラウザーを介して(2番目の画像に示されているように)ユーザーのログイン情報を取得します。Facebookアプリがインストールされている場合は、Facebookアプリから取得します。Facebookアプリがインストールされているように見えるため、アプリはそのアプリからユーザーの情報を自動的に取得します。
次に、ユーザーが使用する新しいアプリについて、Facebookは、アプリの要求された機能がユーザーによって許可されていることをユーザーに確認します。
デバイスがFacebookアプリからログイン情報を取得したため、電子メール/パスワード画面は使用されず、許可画面が最初に表示されます。機能を許可すると、同じユーザーに対してアプリを再度起動したときに、その画面が再び表示されることはありません。