我是否应该避免http://localhost:3000在Auth0中用作回调网址(尤其是在dev或stage环境中)?
我了解使用localhost URL使用POST http请求可能会受到攻击。但是,对于开发或舞台环境,我是否需要考虑?
实际上,这是一个很好的问题,尽管实际上最好的答案是(常识)显而易见的答案。是的,http://localhost尽管便利性和实用性之间的权衡仍然使它成为经常使用的反模式,但使用它并不是一个好主意。是的,在解释样本以使内容易于理解时,甚至包括Auth0官方文档...
不幸的是,localhost得到了很多方(包括Web浏览器)的特殊对待,因此避免这种情况通常是一个好主意。以下是一些应考虑避免的原因localhost:
1)。您的所有流量都是未加密的(http),因此嗅探您的凭据是微不足道的(不是特定于localhost,但值得一提的是如果您有机会引入https的话)。
2)。回调本地主机是一个简单的冲突点,尤其是在身份验证的启动和回调分开的地方。
3)。由于不良的部署做法或(无意的)无知,通常如果localhost在DEV环境中设置了回调,则最终会将它们粘贴到PRD环境中。太。
4)。如果两个应用程序都在本地主机上运行,即使端口不同,则在本地测试SSO也会失败。
5)。依赖于新co/authenticate端点(跨源流)的嵌入式登录名不能在允许的Web起源字段(通过Management API或仪表板设置)中具有localhost。请参阅此处以获取更多信息 -您可以设置本地主机别名,在这种情况下,也应将回调URL更新为相同。
6)。本地主机受到用户代理(包括Web浏览器)的“特殊”关注,这可能导致不必要的干扰(广泛声明,但为true)。
7)。Auth0现在支持自定义域。如果您设置了自定义域,请说id.mysite.com然后在本地进行测试,您可以在主机文件中创建一个别名,例如。app1.mysite.com-在这种情况下,mysite.com在所有引用所涉及域的设置中使用该域是有意义的,包括您的回调值。
总而言之,现实是您仅在开发上工作,而您必须完成工作。建议不要使用localhost,而只需在本地主机文件中为127.0.0.1设置别名。127.0.0.1 app1.mysite.com。它无法避免上面列出的所有风险,包括使用http,但是可以避免某些陷阱。除了要说出它的安全性优势外,别无他法,这将使您更难以猜测列入白名单的允许的回调URL列表中的内容。
| 归档时间: |
|
| 查看次数: |
1474 次 |
| 最近记录: |