我想在Windows Phone应用程序中使用Windows Azure移动服务实现身份验证。我遵循正式的教程和身份验证工作正常。问题是,无论何时应用程序关闭并重新开始,用户都必须输入用户名和密码。由于服务仅使用认证令牌,因此登录页面中的“记住我”选项不太可行。持久认证的Azure移动服务
Windows Azure的官方文档显示使用Live SDK与Microsoft帐户进行单点登录的可能性。 Live SDK提供了形式为string
的身份验证令牌。但是,即使此令牌在约24小时内过期。而且,这仅限于Microsoft帐户。
如果我想要缓存用户的身份并启用自动登录,我有什么可能?我已经阅读了文章here。一旦令牌过期,用户仍然必须重新登录。我看过一些需要用户登录的应用程序!
除非您将范围限制为'wl.offline_access',否则不会授予长期令牌和刷新令牌。虽然'wl.signin'可以启用持久登录(用户不必输入凭证),但每次仍会显示权限屏幕。而且,'LoginAsync'方法实际上进入服务器并且获得令牌(观察它花费的时间!)。在Live SDK的东方,我发现解决方案的工作是调用'LiveAuthClient.InitializeAsync'并使用获得的令牌。不过,您仍然可以告诉我如何与其他提供商合作。 – akshay2000
对于其他提供商,在电话中:您应该能够调用LoginAsync,并且它将“记住”用户,因为提供商存储用于登录的cookie,而用户不必重新输入他们的信用(再次,在模拟器中有时会被清除)。用户可能会短暂地看到显示的登录页面,但应该很快自行解除。您也可以使用Facebook SDK for Windows Phone(尽管我上次检查它是在Beta版中),并且登录将访问令牌传递给Azure移动服务。 – carlosfigueira