使用 Azure Active Directory B2C 时,经过身份验证后,您将获得 id_token
来验证用户以用于将来的请求。我们可以通过几种方法将 id_token 传回给用户。 ( documentation ) 它们是 query
、form_post
或 fragment
。
如果我们使用查询,id_token
将作为查询参数传递。这是否存在安全风险?如果是这样,我如何直接将其注入(inject)到网络浏览器中的 cookie 中?
最佳答案
表单发布是最安全的,因为它不会存储在浏览器历史记录中。
但是查询字符串和片段存储在历史记录中,因此有人可以从那里获取它。
如果 token 通过 HTTPS 传递,则任何试图中间人连接的人都看不到任何内容。
编辑:id token 何时过期并不重要,因为它不是访问 token 。你不能用它来调用任何东西。您想要保护它的唯一原因是它包含有关用户的私有(private)信息。
Azure AD B2C 发布 token 的重定向 URI 应该是 https:,而不是 http:。
关于security - 在 Azure Active Directory B2C 中传递 id_token 的安全方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41871083/