使用 DotNetOpenAuth,我可以默认要求 SSL,而不要求特定提供商使用它吗?
我的用例非常简单:我希望默认使用 SSL,这样如果有人输入自定义 OpenID,它就会强制执行 SSL,但我有一组我信任的提供商,不幸的是其中一个不使用 SSL对于索赔 ID(但对于登录),这引起了 DNOA 的警钟。
除了使用 requireSsl="false" 之外,还有什么办法可以解决这个问题吗?
也许更重要的是,这真的那么重要吗?
My use case is pretty simple: I want SSL by default so that if anyone enters a custom OpenID, it enforces SSL but I have a set number of providers I trust and unfortunately one of them does not use SSL for the claim ID (but does for the login), which sets off DNOA's alarm bells.
Any way around this besides using requireSsl="false"
?
Perhaps more importantly, does this matter all that much?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
要求 SSL 可以保护您免受 DNS 中毒攻击。如果您将其关闭,即使仅针对某些 URL,您也可能会降低安全性,就好像您一直将其关闭一样。 DNS 中毒攻击会允许用户欺骗(攻击者以其他人的身份登录),即使对于您的“可信”提供商也是如此。
如果您想继续执行您的计划,您可以通过其
SecuritySettings
属性调整单个OpenIdRelyingParty
实例来自定义 RequireSsl 设置。Requiring SSL protects you against DNS poisoning attacks. If you turn it off, even for only certain URLs, you'll likely be lowering your security as if you had it off all the time. A DNS poisoning attack would allow user spoofing (an attacker logging in as someone else), even for your "trusted" providers.
If you want to continue with your plan, you can customize RequireSsl settings by adjusting your individual
OpenIdRelyingParty
instance via itsSecuritySettings
property.