运行示例Azure AD B2C身份验证代码时遇到x帧选项问题 [英] Running into x-frame-options issues when running sample Azure AD B2C auth code

查看:30
本文介绍了运行示例Azure AD B2C身份验证代码时遇到x帧选项问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试运行Microsoft用于实现Azure AD B2C身份验证的示例代码。 代码库可以在以下位置找到: https://github.com/Azure-Samples/active-directory-b2c-javascript-msal-singlepageapp/blob/master/index.html

我修改了代码,如下所示。主要的变化是,我没有使用Msal.UserAgentApplication对象的loginPopup()方法,而是使用了loginReDirect()(以获得更好的用户体验) https://gist.github.com/ttchuah/6718e268a235a3206968b36d748fd369

以下是我运行代码时发生的情况。

  1. 我如期看到index.html页面。
  2. 我单击登录按钮,被重定向到Microsoft登录页面,在那里我可以看到通过Google进行社交登录的选项。
  3. 我通过Google登录,然后被重定向回我的index.html页面。

此时,将触发"authCallback()"函数。

在Chrome中,我收到以下控制台错误。知道为什么吗? 拒绝在帧中显示"https://accounts.google.com/o/oauth2/auth?client_id=903295266285-78au30g3bsmt8q1phvfqqu65c58kp35i.apps.googleusercontent.com&redirect_uri=https%3a%2f%2flogin.microsoftonline.com%2fte%2fdv0dop000devaad000.onmicrosoft.com%2foauth2%2fauthresp&response_type=code&scope=email+profile&state=StateProperties%3deyJTSUQiOiJ4LW1zLWNwaW0tcmM6OGM1YTQwNDQtNGYyYi00ZTJmLTgyMmUtYjU2ZjRkMWU4ZWU2IiwiVElEIjoiMDBmZjUzOTctNjYxZC00NDY4LWFlODktNzlkOThlMmEwMzI0In0",因为它将"X-Frame-Options"设置为"Same Origin"。

相同的错误不会在Firefox或Safari中发生。对于这些浏览器,我能够毫无问题地取回身份验证令牌。

推荐答案

X-Frame-Options头是针对clickjacking的安全措施,问题是,并不是所有浏览器都有在处理返回的响应时将该头考虑在内的实现(请参阅X-Frame-Options上的)。

长话短说,Chrome将阻止在frameiframeobject元素中呈现在X-Frame-Options头中没有匹配的Allow-From值的任何响应处理。

希望能有所帮助!

这篇关于运行示例Azure AD B2C身份验证代码时遇到x帧选项问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆