0

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 アプリに関連付けた場合はどうなりますか?

4

1 に答える 1

2

LiveSdk では不可能です。LiveSdk はシステムからのアカウント情報を使用するためです。一度に少数のアカウントを使用する唯一の方法は、LIVE REST API を介して独自の SDK を開発することです (内部の LiveSDK のように)。

于 2014-11-02T08:49:48.447 に答える