我使用DotNetOpenAuth将Google,Yahoo,Twitter和Facebook登录集成到我的应用程序中。
现在一切都按预期工作了。
我也允许我的用户在内部注册,所以我的数据库用户表是这样的:
我想知道我应该存储什么作为用户名,我在考虑ID,但我有这样的问题:
答案 0 :(得分:1)
对于OpenID,您必须使用ClaimedIdentifier
作为ID。不是其他任何东西,当然也不仅仅是来自声明的标识符的子字符串。其他任何事情都会严重损害您的应用程序的安全性。
就存储位置而言,我建议您保留一个专用列来存储您声明的标识符,而不是仅将其存储在UserName列中。请考虑以下情况:
http://SomeOpenIDUrl
http://SomeOpenIDUrl
作为用户名上述情况当然可以通过各种方式得到缓解,但IMO最好的方法是将OpenID保留在用户名栏之外,这样就完全不可能了。