我有一个独特的场景,使用Open中间件对Azure AD进行身份验证,现在一旦应用程序经过身份验证并建立会话,我就需要对位于同一服务器上的WebAPI服务进行AJAX调用。
我计划将缓存在服务器上的Id/ access令牌返回给客户端,并将其存储在会话存储中。
这种方法是否有安全含义,我的意思是,通过ADAL或ADAL获得的令牌之间有什么区别吗?
发布于 2016-02-12 20:55:52
我不建议这么做。机密客户端获取的访问令牌和ID令牌与公共令牌不同,在Azure中,通过隐式流发出的AD令牌具有额外的差异,因为启发式的目的是限制它们的大小。对于您的场景,有一个更干净的解决方案。一旦您登录使用OpenID连接,您的浏览器就有一个带有Azure的会话cookie。如果您在页面中插入一个隐藏的iframe,并且使用iframe驱动通过javascript对令牌的隐式授予请求,您可以让您的JS前端获得自己的令牌,而不必在拓扑的其他地方循环获取的令牌。这正是ADAL为更新令牌和在登录后获得新令牌所做的事情。不幸的是,我们没有这种方法的示例,但是您可以查看ADAL的源代码,看看它是如何工作的。
https://stackoverflow.com/questions/35357224
复制相似问题