如何在C#中验证OpenId令牌?

时间:2010-07-21 20:20:36

标签: c# openid token

我正在尝试使用此参数进行验证:

“openid.mode = check_authentication”
+“& openid.assoc_handle =”+ txtAssocHandle.Text
+“& openid.response_nonce =”+ HttpUtility.UrlEncode(txtNonce.Text)
+“& openid.op_endpoint =”+ txtEndpoint.Text
+“& openid.sig =”+ txtSignature.Text
+“& openid.signed = mode,identity,return_to”;

然后返回

is_valid:假 NS:http://specs.openid.net/auth/2.0

我在这里做错了什么? txt字段填充了登录响应值

1 个答案:

答案 0 :(得分:0)

你的openid.signed参数需要完全是OP发送给你的RP而不是这个不完整的硬编码的3个参数列表。您的所有参数也应该是URL编码,而不仅仅是您的nonce。

验证OpenID令牌还有很多,而不仅仅是使用“哑模式”将其发送回OP。你想做什么?

您是否考虑过使用OpenID library?说真的,让OpenID正确(意味着安全,可互操作)是一项艰巨的任务。比组装正确的查询字符串更大的方式。 :)