Windows 8.1 アプリケーションを作成しており、それを複数のアカウントで使用したいと考えています。アプリケーションを最初に起動したときは、wl.signin
スコープを使用してアプリをより速くテストしましたが、今は他のアカウントでテストしたいと考えています。そのため、このスコープを削除し、コンピューターからアプリをアンインストールし、ライブ アカウントからアプリのアクセス許可を削除しました。
それでも、初めてログインする場合、アプリは自動ログインの許可を必要とします (== wl.signin
、前述のように既にスコープから削除しました)。
基本的に、アプリを使用するたびにユーザー資格情報を書き込んで、他のアカウントでログインできるようにしたいと考えています。
ログイン用のコードは次のとおりです。
LiveLoginResult result = await App.Auth.InitializeAsync(new string[] { "wl.basic" });
if (result.Status != LiveConnectSessionStatus.Connected)
result = await App.Auth.LoginAsync(new string[] { "wl.basic" });
if (result.Status == LiveConnectSessionStatus.Connected)
{
await App.MobileService.LoginWithMicrosoftAccountAsync(
result.Session.AuthenticationToken);
App.Lcs = result.Session;
}
else
{
await dialogService.ShowMessage("Not logged in.", "Error!");
}
ログアウトしようとすると、CanLogout
常にfalse
値が返されます。
if (App.Auth.CanLogout)
{
App.Auth.Logout();
navigationService.NavigateTo("MainPage");
}
ここで何が欠けていますか?スコープが別の場所にキャッシュされている可能性がありますか?Microsoft アカウントでオペレーティング システムを使用している場合、問題になる可能性はありますか? または、アプリを Visual Studio の Store アプリに関連付けた場合はどうなりますか?