FBログインの仕組みについて説明します。もちろん、デスクトップアプリケーションに使用される別の方法がありますが、これは可能ですが、このWebサイトでは使用しません。
だから、HERESに取引:
ログインボタンは、ウェブサイトのAPIキーといくつかの任意の情報を含む、Facebookのサーバー上でリンクを開きます。ここまでは順調ですね。あなたはそれを簡単にシミュレートすることができます。
プライバシーのものを受け入れると、ウェブサイトにリダイレクトされます。それをシミュレートすることもできます。
しかし、その後は負担が来る:
あなたはにリダイレクトされます場所は、ハッシュタグ(#)の後にFacebookのトークンが含まれています。
ウェブサイトは、このトークンをJavascriptで読み取って、それを使用してfacebook APIにクエリして、あなたの身元を確認することができます。
このようにした理由は簡単です:
考えてみてください。誰もがウェブサイトの名前でリクエストを偽り、あなたの私的なデータを読むことができます。しかし、ハッシュタグの後のすべては、要求が向けられたサーバーによって決して読み込めません。 Webブラウザはそれを渡さず、HTTP標準に違反し、エラーを引き起こします。
アクセスするにはjavascriptを使用する方法があります。これは、リクエストを処理しているWebサイト(フェイスブックのリダイレクト先)でのみ可能です。そして、Facebookのリダイレクト先のドメインは、アプリケーションキーの所有者によってロックされます。
ここでは、JavaScriptはセキュリティの重要な部分です。
多くの可能な解答があるので、実際には非常に安全ではないと考えられますが、このログインの形態が非常に広がっている理由は非常に簡単です。 openid。
これを要約すると、完全にjavascript対応のブラウザをシミュレートする必要があります。それは部分的には可能ですが、非常に複雑で、そのための解決策はありません。
私はそれができるとは思わない –
それは本当に不可能ですか? – apelliciari
私はカールだけではこれが可能ではないとも考えています。 – Alfred