我应该根据协议前缀来区分OpenID吗?http vs https

4
我已经使用DotNetOpenAuth为我的ASP.NET应用程序实现了直接的OpenID支持。然而,最近我意识到该实现将http://johndoe.example.com/视为与https://johndoe.example.com不同的用户。
这导致了相当多的困惑用户。我不确定此时该怎么办。这是一个错误还是一个特性? 事实上,我可以将此行为视为一种特性:如果用户指定了HTTPS,则用户可能首先不希望系统接受HTTP授权。
另一方面:如果用户出于纯粹的无知而指定了HTTPS(普通网站访问者对“S”部分的目的一无所知),那么拒绝其身份验证尝试会令人困惑。
什么被视为最佳实践?

你说得很对:“如果用户指定了HTTPS,那么用户可能根本不希望系统接受HTTP身份验证。” - keturn
2个回答

4

是的-它们完全不同,应该分别处理。

对于OP的建议始终使用https,但并非总是如此(就像现在这样)。


有些运营商只提供HTTPS标识符,包括雅虎和谷歌,我相信。 - keturn
1
这是一个安全性要求。如果将HTTP和HTTPS标识符视为等同,则HTTPS提供的安全性不比HTTP更高,因此易受DNS投毒攻击,这等于用户身份欺骗(简言之:身份盗用)。非常重要的是,您要将它们视为不同的标识。 - Andrew Arnott

-1

StackOverflow 如果将它们等同对待是错误的(如果这是真的)。请参考 Steven 的回答。 - Andrew Arnott

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接