C# Asp.net的OpendID安全提示
我刚开始在Asp.NETMVC应用程序中使用OpenID,我想知道在使用OpenID时有哪些陷阱。我之所以问这个问题,是因为我在使用一些OpenID实现时读到了很多警告。大多数情况下,它就像“不要使用那个库!你只需要更改url中的一个单词,你的网站就可以向任何人开放!!!!” 我很可能最终会使用DotNetOpenAuth,但作为初学者,使用的一些therm似乎有点陌生。这也是我提出这个问题的原因之一,因为无知不会使我的应用程序非常安全 既然没有一个正确的答案,我希望把这个问题称为“社区维基”是正确的做法。如果这类问题不被允许,我会立即删除它 提前感谢,C# Asp.net的OpendID安全提示,c#,.net,openid,C#,.net,Openid,我刚开始在Asp.NETMVC应用程序中使用OpenID,我想知道在使用OpenID时有哪些陷阱。我之所以问这个问题,是因为我在使用一些OpenID实现时读到了很多警告。大多数情况下,它就像“不要使用那个库!你只需要更改url中的一个单词,你的网站就可以向任何人开放!!!!” 我很可能最终会使用DotNetOpenAuth,但作为初学者,使用的一些therm似乎有点陌生。这也是我提出这个问题的原因之一,因为无知不会使我的应用程序非常安全 既然没有一个正确的答案,我希望把这个问题称为“社区维基”是
PickelsDotNetOpenAuth不是那种“改变一个单词,它就坏了”的库。这是一个很好的使用 就术语而言:
- ClaimedIdentifier是新用户名。将其视为区分大小写,并确保在基于它查找用户记录时数据库进行区分大小写的匹配。不要将HTTP和HTTPS URL视为与同一用户相同的东西——它们必须被视为完全不同。
- 用户提供的标识符是用户在OpenID框中键入的文字字符串(如果有)。永远不要将这里的任何东西视为权威,也不要根据它做出安全决策。等待,直到您从响应中获得ClaimedIdentifier,并根据它和ProviderEndpoint做出决定
- OP Endpoint(又名Provider Endpoint)是OpenID提供程序的OpenID端点的URL,如果您只想信任某些提供程序,则可以就此做出决定
- 如果您请求这些属性,则诸如电子邮件地址和用户全名等声明可能来自提供商。但是,除非声明来自您信任的OP端点,否则千万不要相信它是正确的李>
- 最终用户希望向服务提供商声明其身份的人
- 标识与单个最终用户相关的服务提供商特定信息。也就是说,最终用户认同并想要保护的所有东西
- 标识符最终用户提供的特定于最终用户的URL,可以使用该URL启动OpenID身份验证
- 依赖方(RP)使用OpenID确定最终用户身份声明准确性的服务提供商
- 身份提供商(IdP)可以响应依赖方的OpenID身份验证请求的网站,通常涉及通过web表单和cookie与最终用户进行基于密码的质询/响应。IDP通常支持多个用户,因此允许最终用户通过站点注册和管理标识符。但是,个人可以托管自己的IdP,该IdP只能对自己进行身份验证