我在一个页面上有一个包含多个插件的Web应用程序。用户可以选择在任何给定时间运行哪个插件。可以同时运行多个插件。
我正在编写一个插件,该插件将对用户进行身份验证并从授权服务器获取声明并使用它来获取正在使用的应用程序的令牌。现在的问题是 - 在同一个会话中运行的任何其他插件是否可以看到我的令牌?它似乎是,因为它存储在浏览器的会话/本地商店中。有没有办法避免这种情况?
另一个问题:我希望所有插件都有单独的clientIds,每个插件都应该可以访问自己的相关后端。如果它们共享相同的上下文(它似乎都是这样),我将不得不让这个客户端访问所有(~100)后端,这是不可接受的。那么,其他插件可以创建不同的身份验证上下文吗?
答案 0 :(得分:0)
Azure AD会话与域关联。 如果插件使用相同的域,则他们将能够访问该域的共享会话。这意味着他们可以访问存储在会话中的cookie状态。但是,发布的令牌标识了一个特定的插件并为其提供了资源访问权限,因此该令牌不能被其他插件使用。