2011-12-14 6 views
5

私は、ライブ接続レストAPIを使用してpocに取り組んでいます。Live Connect Rest API:ユーザーにログインしますか?

(ここではドキュメント:http://msdn.microsoft.com/en-us/windowslive/default

私は、ユーザーや特定のアクションを要求する同意をログインすることができる午前、下のリンクから例を使用。ユーザーが既に前に同意を与えられたとき、どのように私は同意を要求してスキップすることができ

  • はしかし、私はこれに関連したいくつかの質問がありますか?

  • アプリケーション実行の間に 'access_token'を保存する保存方法は何ですか?
  • Rest APIを使用してシングルサインオンを使用するにはどうすればよいですか?

署名中:http://msdn.microsoft.com/en-us/windowslive/hh278363#rest

ありがとう!

答えて

1
  • ユーザが必要な同意を以前に与えた場合、Liveはユーザに再度許可を求めることはありません。手動でスキップする必要はありません。
  • あなたのプラットフォームは何か分かりませんが、アプリのストレージを隔離したり暗号化したりすることができます。重要なことは、トークンに有効期限があることです。また、マイクロソフトが提供するコントローラを使用して、ライブログインに関連するすべての処理を行うことも検討することができます。ここに私のWP8の例である:、その前に

    <Controls:SignInButton Grid.Row="0" ClientId="yourid" Scopes="wl.offline_access wl.skydrive_update" HorizontalAlignment="Right" VerticalAlignment="Bottom" SessionChanged="OnSessionChanged" 
               Margin="0,0,0,0" Width="160" Height="70" Background="Transparent" BorderBrush="{StaticResource TransparentBrush}" /> 
    

    を同じファイルに次の行を追加します:

は、XAMLファイルでこれを追加

xmlns:Controls="clr-namespace:Microsoft.Live.Controls;assembly=Microsoft.Live.Controls" 

そして、制御は次のようになりますこれは: enter image description here

ユーザーのログインやログアウト時に自動的に更新されます。あなたのC#コードで

、それにOnSessionChangedイベントハンドラを追加します。

private void OnSessionChanged(object sender, LiveConnectSessionChangedEventArgs e) 
    { 
     //sign in 
     if (e.Error != null) 
     { 
      MessageBox.Show(e.Error.Message); 
      return; 
     } 

     if (e.Status == LiveConnectSessionStatus.Connected) 
     { 
      ((App) Application.Current).Session = e.Session; 
      connectClient = new LiveConnectClient(((App) Application.Current).Session); 
         } 
     } 
    } 
多分役立ちます
0

ここをクリックしてください:http://msdn.microsoft.com/en-us/library/live/hh243646.aspx#wlsignin?同意リクエストとシングルサインオンをスキップします(つまり、ユーザーがライブにログインしてから認証ページに誘導された場合、ユーザーは追加の操作をせずに自動的に認証が行われます)。

関連する問題