续订过期的Azure移动服务令牌

时间:2014-06-16 17:54:29

标签: javascript mobile azure service azure-mobile-services

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

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

是否有一个优雅的模式来更新过期的令牌,而不会在每次令牌到期时给用户带来重新启动的负担?

1 个答案:

答案 0 :(得分:3)

不幸的是,您每次都需要记录用户。令牌必须具有与之关联的生命周期。在某些客户端平台上,您可以通过单一符号流获得更长的生命周期,但这些通常不适用于HTML。常见的模式是,在收到401后,重新触发您的登录代码。 Here是一篇博文,展示了移动服务托管SDK的方法。相同的概念应该适用于JS。