我有一个使用Azure MobileServiceClient(DataService.client)的Xamarin Android应用程序。设置为使用Google身份验证。我登录如下:
var user = await DataService.client.LoginAsync(this,
MobileServiceAuthenticationProvider.Google, "myapp");
这很好。它将打开浏览器进入Google登录页面,然后您登录。一旦在Android设备上执行一次此操作,它将不再提示您输入登录信息。我遇到一种情况,我想以其他用户身份登录以测试一些内部应用程序权限。我创建了一个注销函数,如下所示:
await DataService.client.LogoutAsync();
这会将您注销,但是下次您需要进行身份验证时,它不会提示您输入凭据。它会将您重新登录为同一个人。有没有一种方法可以清除登录信息,以便再次询问您的用户名?
AFAIK,MobileServiceClient.LogoutAsync()
只需清除MobileServiceClient.CurrentUser
移动客户端中当前MobileServiceClient实例的即可。为了完全注销,您需要在执行之前手动将注销请求发送到您的移动后端MobileServiceClient.LogoutAsync()
。
Get https://{your-app-name}.azurewebsites.net/.auth/logout
Header X-ZUMO-AUTH:{MobileServiceClient.CurrentUser.MobileServiceAuthenticationToken}
您可以参考adrian hall的书中有关实现LogoutAsync()方法的详细信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句