私は Windows Phone 8 アプリケーションを開発しています。最初の実行では、Microsoft アカウントからユーザー認証を許可しています。ユーザー資格情報は保存されていますが、アプリケーションを実行するたびに許可画面 (「このアプリがあなたの情報にアクセスできるようにする」) が表示されます。
選択を保存して許可画面を 1 回だけ表示するにはどうすればよいですか (初めてアプリを実行するとき)。
コードスニペット:
private LiveConnectSession _session;
private async Task<Users> Authenticate()
{
var liveIdClient = new LiveAuthClient("XXXXXXXXXXXXXXX");
while (_session == null)
{
var result = await liveIdClient.LoginAsync(new[]
{
"wl.signin",
"wl.offline_access"
});
if (result.Status == LiveConnectSessionStatus.Connected)
{
_session = result.Session;
var client = new LiveConnectClient(result.Session);
var meResult = await client.GetAsync("me");
var user = await App.MobileService.LoginAsync(result.Session.AuthenticationToken);
return new Users
{
UserName = user.UserId,
RealName = string.Format("{0} {1}", meResult.Result["first_name"], meResult.Result["last_name"]),
TimeStamp = DateTime.Now,
IsAuthorised = false
};
}
else
{
_session = null;
MessageBox.Show("You must log in.", "Login Required", MessageBoxButton.OK);
}
}
return null;
}
そして、コンストラクター (public MainPage()) で:
(DataContext as MainViewModel).User = await Authenticate();