0

スタック オーバーフロー コミュニティは、これを私のために健全性チェックできますか?

iOS アプリとモバイル Web サイトの 2 つのコンポーネントを含むプロジェクトに取り組んでいます。これは、Facebook とかなり頻繁にやり取りする製品向けです。Web サイトは Heroku でホストされています。

iOS の世界では、認証に Facebook iOS SDK を使用し、https://[myappname].herokuapp.com でユーザーのアクセス トークンを使用して Web API をヒットすることを意図しています。herokuapp.com ドメインを使用する場合、Heroku はピギーバック SSL を提供し、いずれにせよユーザーはこの URL を見ることはないので、それで問題ないと思います。このようにしてリクエストは暗号化されるため、アクセス トークンは安全なはずです。

モバイル Web サイトから、ユーザーは Facebook を使用してログインします。その時点で、アクセス トークンが Cookie に含まれていることを理解しています。これにより、サーバーは要求ごとにやり取りすることなくアクセスできます。この理由から、Web サイトの通常の暗号化されていない http:// URL をそのまま使用できるように思えます (したがって、Heroku の SSL エンドポイント アドオンの月額料金を支払うことなく、カスタム ドメイン名を使用できます)。

これはすべて意味がありますか?私は、このような多くのことについての私の理解がアップグレードを真剣に必要としていることを最初に認めます. でも今のところ、「いいえ、あなたはXYZを完全に見落としている/誤解しています」または「ええ、これは一般的に行われている方法です」と言ってくれる人を探しています。

4

2 に答える 2

2

Facebook は、Cookie の形式に依存するべきではないとアドバイスしています。彼らは、クッキーは「実装の詳細」であり、通知なしでいつでも微調整できると述べています. Cookie からトークンやその他のユーザー情報に直接アクセスしないでください。個人的には、Cookie からユーザー情報を直接取得しようとして、主にタイミングが原因で、いくつかの悪い経験がありました。

クライアント側では、FB.getLoginStatus またはアクセス トークンを返す他のメソッドを介して Javascript SDK からアクセス トークンを取得し、それをサーバーに送信する必要があります。これは実際には SSL を使用して行う必要があります。そうしないと、ネットワーク パケット スニッフィングの影響を受けやすくなり、ブラック ハットがトークンを取得して、ユーザーがアプリに付与したすべての権限を使用できるようになります。

Facebook のサーバーの ssl エンドポイントにアクセスしてアクセス トークンを返すサーバー側のオプションもあります。

参考文献:

「Cookie は実装の詳細です」: https://developers.facebook.com/blog/post/624/ 認証ドキュメント: https://developers.facebook.com/docs/authentication/

于 2012-06-27T15:39:17.643 に答える
1

Facebook 経由の Web サイトへのログインは、HTTP 経由で完全に正常に機能します。

于 2012-06-27T15:17:00.610 に答える