항상 그렇듯이 : Im 꽤 멍청한 놈. 질문에서 볼 수 있듯이.Cant 로그 아웃 Azure Wams MobileServiceUser
저는 Xamarin.Android에서 Azure Wams로 놀고 있습니다. 훌륭한 도구 인 것 같습니다. Xamarin.Android의 사용자를 크게 기록합니다. 내 문제는 사용자가 로그 아웃하고 다른 계정으로 로그인 할 수있게하려는 경우입니다 (인증을 위해 Google을 사용함). 나는 이것을 다음과 같이 로그 아웃 버튼과 함께 사용할 수있었습니다 :
로그인 할 때 AuthenticationToken은 나중에 사용할 수 있도록 String에 저장됩니다. 그래서 사용자가 자신이 로그 아웃 싶어 확인하면, 난 그냥 UserAuth = String.Empty로하고 나는 다시) ConnectToMobileService을 (전화 :
public async Task ConnectToMobileService()
{
try
{
CurrentPlatform.Init();
client = new MobileServiceClient(
Constants.ApplicationURL,
Constants.ApplicationKey, progressHandler);
if (string.IsNullOrEmpty(UserAuth)) {
await Authenticate();
UserId = user.UserId;
await CreateTables();
await CheckUserId();
}
else if (!string.IsNullOrEmpty(UserAuth)) {
client.CurrentUser = new MobileServiceUser(UserId);
client.CurrentUser.MobileServiceAuthenticationToken = (UserAuth);
await CreateTables();
}
}
catch (Exception e)
{
CreateAndShowDialog(e, "Error");
}
}
이
나를 위해 인증 창을 다시 시작하는 데 사용하고, 사용자 hes 새로운 계정으로 로그인 - 정보는 다른 활동에서 사용하기 위해 환경 설정에 저장되는 등등. 음, Xamarin을 업데이트하고 라이센스를 인디로 업그레이드 한 후에는 더 이상 그렇지 않습니다. 이제는 Authenticate를 잠깐 동안 실행 한 다음 곧장 돌아가서 사용자가 이전에 수행 한 exaxt 방식으로 로그인 한 것처럼 작동합니다.내가 알고있는 것은 아마도 공유 공유가 Wams의 어딘가에 저장되어 있기 때문일 것입니다. 필자는 Java를 지우는 방법을 연구했지만 C#에서는 다시 만들 수 없었습니다.
client.Logout()이 그것들을 단독으로 지우지 않는 것 같습니다.
private void ClearPreferences(){
var prefs = this.GetSharedPreferences("UserDate", 0);
var editor = prefs.Edit();
editor.Clear();
editor.Commit();
}
이 아무것도하지 않는 :이 내가 그것의 나머지를 recreatet을 시도하는 방법이다. 그럼, 누구도 나와 함께 도와 줄 수 있니? 다시 설정하면 사용자가 다른 계정으로 로그인 할 수 있습니다. 예를 들어 친구가 전화로 로그인하도록 할 수 있습니까? 미리 감사드립니다!