【发布时间】:2009-06-19 11:16:42
【问题描述】:
我工作的公司想向外界发布一个内部网站,但也想以某种简单的方式识别访问者。某些功能将对所有访问者可见,但大多数功能必须对经过身份验证的访问者可见。 (并且某些功能仅限于管理员访问者。)虽然管理层正在考虑实施我们自己的身份验证系统,但我建议只使用已经可用的现有技术,并使用户名/密码的管理远离我们。 (因为我们在谈论安全性时只是业余爱好者。身份验证需要非常好。)
所以我从 Google 的 OpenID 开始,检查了他们提供的库。看起来很容易使用,我可以获得告诉我用户已通过身份验证的令牌。但是我如何识别这个用户,以便我可以将我们的个人资料信息链接到他的 ID/Token/Whatever?
我知道我遗漏了一些东西,所以为了简单起见:我只需要一些示例来说明如何使用 Google 对访问者进行身份验证,然后获取一些我可以用来永久链接到该用户的令牌。 (因此,没有会话令牌。)然后此令牌可用于用户填写他/她的个人资料。
【问题讨论】:
-
我很困惑你在哪里谈论“谷歌”。看起来当您说“来自 Google 的 OpenID”时,您的意思是“由 Andrew Arnott 维护并托管在 Google Code 上的 DotNetOpenAuth 库”。但我不确定您所说的“使用 Google 对访问者进行身份验证”是什么意思。你的意思是你需要你的用户只有谷歌帐户,而不是来自其他提供商的 OpenID?如果你只需要“一些令牌”,听起来你不需要他们的 gmail 地址或任何东西。
-
其实,现在我只想保持简单,只支持 Google OpenID。该项目仍然是一个概念验证,我正在尝试说服管理层使用 OpenID 而不必实现我们自己的身份验证系统。再说一次,OpenID 是一个开放标准,因此它也应该不难用于其他提供商......
标签: c# .net authentication openid dotnetopenauth