2

Windows デスクトップの Spotify アプリケーションが、ログイン画面で Facebook のユーザー名とパスワードを要求することに気付きました。舞台裏で何が起こっているのか気になります。

ブラウザで fb パスワードを変更すると、Spotify デスクトップ アプリのログイン画面で新しいパスワードを使用する必要があります。Spotify デスクトップ アプリケーションが、Spotify 自体に権限を付与する必要がある fb ポップアップを表示する場合さえあります。

Spotify が組み込みの Chromium ブラウザー エンジンを使用してすべての面倒な作業を行っていることは知っています。しかし、そのようにすることは Facebook の TOS に反しませんか?

つまり、Spotify は私のユーザー名とパスワードを Facebook の login.php に投稿し、結果ページをインターセプトして Cookie を取得しますか? ユーザーに代わって適切な方法で Facebook へのログインを処理する文書化された方法はありますか?

4

1 に答える 1

2

いいえ、 httpsauth.login : //developers.facebook.com/docs/reference/rest/auth.login/と呼ばれる古くて非推奨の REST API メソッドを使用しています。

もちろん、自分のアプリでこれを使用することを止めることはできませんが、その API がどれほど古く、REST API が現在完全に廃止されているかを考えると、それに依存するのは悪い考えです。

代わりに、Windows デスクトップ アプリ向けに、理想的な認証方法を含む Facebook C# SDK を Microsoft が提供していると思います。Web Authentication Brokerと呼ばれる Metro Apps 用に提供されている新しい方法については、私はよく知っています。

これらはほとんど、アプリ内に Web フレームをロードし、ユーザーを Facebook にログインさせ、(必要に応じて) 許可ダイアログを表示するだけです。そこから、アプリはユーザーの UID と、おそらく認証時に受け取った有効期間の長い access_token を保存できます。この方法では、60 日に 1 回、ユーザーに再度ログインを求めるだけで済みます。

Facebook が提供するデバイスベースの認証方法は他にもありますが、ほとんどはまだ非公開のテスト段階にあり、現在デスクトップ アプリに推奨されている唯一の方法は、このページのWindows、OS X、および Linux ネイティブ アプリ(下部)という見出しの下に記載されています。ページの)。

2013 年 12 月の更新:この回答を書いてから Facebook ログイン ドキュメントが大幅に変更されたため、いくつかの新しい追加事項を指摘したいと思います。

  • ログイン フローを手動で構築するでは、デスクトップ アプリがユーザーをログインさせるために実行できる手順について詳しく説明します。ここでの新機能は、Windows 8 アプリがログイン ダイアログの redirect_uri でディープリンク ID を使用できるようになったことです。つまり、完了またはキャンセルされたときに、ログイン ダイアログからアプリにマルチタスクで戻ります。これは、以前の WebView 設定からの改善です。ユーザーの既定のブラウザーでは、既に Facebook にログインしている可能性が高いためです。
  • Login for Windows Phoneは、Windows Phone 8 アプリを使用するための特別なガイドです。
于 2012-07-26T22:43:10.630 に答える