2014-06-16 95 views
1

我正在设置HTML5和JavaScript Web应用程序,以使用JavaScript客户端库来使用Azure移动服务表。我设法成功地使用MicrosoftAccount身份提供程序进行身份验证设置。在加载时,我的应用程序会检查用户是否已经登录,或者我们是否有本地存储的令牌和用户名。如果为true,则隐藏登录按钮并显示注销按钮,然后继续加载应用程序数据。续订过期的Azure移动服务令牌

我的问题是,当本地存储的令牌到期时,我的应用程序仍然认为用户已登录。因此,当我请求表数据时,我收到401 Unauthorized HTTP响应。

是否有一种优雅的模式来更新过期的令牌,而不会在每次令牌过期时给用户造成重新记录的负担?

回答

3

不幸的是,您每次都需要登录用户。令牌必须有一个与其相关的生命周期。在某些客户端平台上,您可以通过单一签名流程获得更长的生命周期,但这些通常不适用于HTML。常见模式是,在收到401后,重新触发您的登录代码。 Here是一篇博客文章,展示了Mobile Services Managed SDK的方法。 JS应该适用相同的概念。