在此guide中,在调用MobileServiceClient.LoginAsync之后设置MobileUser。我认为通过LoginAsync登录后,MobileServiceClient.LoginAsync返回的MobileUser与MobileServiceClient.CurrentUser相同。
我通过调用MobileServiceAuthenticationToken属性(即MobileUser.MobileServiceAuthenticationToken和MobileService.CurrentUser.MobileServiceAuthenticationToken)打印出它们包含的两个令牌。
两个令牌似乎是一样的。两个令牌具有与jwt.io中解码相同的有效负载。我还在Sublime Text 2中粘贴了两个令牌,并且所述编辑器将两个令牌识别为相同,因为使用ctrl + D也会选择另一个令牌。
假设两个令牌相同且两个MobileServiceUsers相同是否安全?
这可能看起来像一个奇怪的问题,但我试图调试客户端代码中的问题,并且需要检查它不是因为更改了指南中的代码。
答案 0 :(得分:1)
是的,令牌是一样的。成功登录后,将使用LoginAsync调用的结果填充CurrentUser。这允许您对服务的所有后续调用都包含令牌,并允许您访问CurrentUser详细信息,而无需自己存储该信息。
以下是C#客户端中执行此操作的代码:https://github.com/Azure/azure-mobile-apps-net-client/blob/master/sdk/src/Microsoft.WindowsAzure.MobileServices/Authentication/MobileServiceAuthentication.cs#L148