2011-10-26 15 views
3

Windows Liveでユーザーを認証したいと考えています。私はこのためにWindows Live Connect 5.0 SDKを使用します。私はトークンを取得するためにWPF WebBroserコントロールを使用していますが、常に同意を求めるプロンプトが表示されます。ライブ接続では常に同意を求めるプロンプトが表示されるのはなぜですか?

私は、ウェブブラウザには、以下のリンクに移動してみましょう:私のアプリケーションIDとしてクライアントIDと

https://oauth.live.com/authorize?client_id=CLIENT_ID&response_type=token&scope=wl.signin%20wl.basic&redirect_uri=https://oauth.live.com/desktop

。私はリダイレクトURLへのナビゲーションを監視します。私は主にログインする必要はありません。しかし、私は2つの範囲について同意する必要があるたびに。

奇妙なことは、私がアプリを見ると、私が同意を与えたときに両方のスコープがチェックされているということです。私は、ユーザーがwl.signinとwl.basicのための同意を与えていないというエラーを取得し

https://oauth.live.com/authorize?client_id=CLIENT_ID&response_type=token&scope=wl.signin%20wl.basic&redirect_uri=https://oauth.live.com/desktop&display=none

はまた、私はサイレントロギング用に別のURLを使用する場合。

+0

これを解決しましたか?私もこの正確な問題に苦しんでいます。 –

答えて

2

FacebookのOAuth実装のチェックボックスとは異なり、チェックボックスはWLサーバーの同意を覚えていませんが、アクセストークンの交換が可能な長期の更新トークンを提供します。

フロー:

  • リフレッシュトークンが保存されている場合 - それ以外の場合は、リフレッシュ1(http://msdn.microsoft.com/en-us/library/ff752395.aspx)に基づいたアクセストークンを取得しよう:
  • ショーの同意ダイアログ
  • アクセスとリフレッシュトークン(http://msdn.microsoft.com/en-us/library/ff750952.aspx)を取得
  • サーバーに安全に更新トークンを保存します。リフレッシュトークンは、暗号化されたユーザー名+パスワードとほぼ同じです。安全に保管できない場合は、同意ダイアログを使用して生きなければなりません。
関連する問題