【问题标题】:Monitor Azure Token Expiration time监控 Azure 令牌过期时间
【发布时间】:2017-10-18 09:46:24
【问题描述】:

我正在开发一个使用 OAuth2.0 进行 Azure 身份验证的 MVC 应用程序 我需要帮助来监控 azure 令牌,通过监控我的意思是,我想设置一些东西来监视 azure 令牌到期时间,当它即将到期时,它会向会话超时的用户发出警告消息。

我面临的问题是,当 azure 令牌过期时,所有 ajax 调用都失败并且该特定会话页面上的所有用户数据都消失了,有什么办法可以设置一个监视 azure 令牌的方法吗?

另外一个问题是,当用户在页面上活动近一个小时时,令牌会静默过期,用户必须刷新页面才能继续处理他们的内容,这会导致所有数据丢失他们已经进入了。

任何帮助将不胜感激。谢谢

【问题讨论】:

    标签: javascript azure session networking model-view-controller


    【解决方案1】:

    在从azure获取token时,我们通常使用expires_in(表示访问token有效的秒数)/expires_on(表示过期时间)来获取token,可以用来监控token过期时间。而且通常token还包含过期时间。例如,这是从 azure ad 发出的访问令牌,您可以找到 iat(issued at) 、exp(expiration timeline) 信息:

    第二个问题可以参考 Vittorio Bertocci 的文章:Controlling a Web App’s session duration,你可以注入一个隐藏的 iframe 以静默地向 Azure AD 请求新的令牌。鉴于隐藏帧指向 Azure AD 域,只要 Azure AD 有一个有效的 cookie 用于维护用户会话,对新令牌的请求将不需要用户重新输入凭据,并且会以静默方式获取新令牌。在文章中有一个 MVC 中的代码示例,请参考。

    【讨论】:

    • 嘿,谢谢你,这真的很有帮助。你能建议我用什么方法来检查浏览器(chrome)中的缓存令牌吗?
    • 如果你把token存储在session storage中,可以先按F12打开Chrome的开发者工具,然后找到Resources,你会发现session storage folder/local storage folder ...
    • 您好,谢谢您的帮助.. 有什么办法可以在加载 iframe 之前清除缓存的令牌,使其不加载缓存的令牌!!
    猜你喜欢
    • 2015-09-18
    • 2012-04-17
    • 1970-01-01
    • 1970-01-01
    • 2019-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-18
    相关资源
    最近更新 更多