我正在尝试使用此参数进行验证:
“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字段填充了登录响应值
答案 0 :(得分:0)
你的openid.signed参数需要完全是OP发送给你的RP而不是这个不完整的硬编码的3个参数列表。您的所有参数也应该是URL编码,而不仅仅是您的nonce。
验证OpenID令牌还有很多,而不仅仅是使用“哑模式”将其发送回OP。你想做什么?
您是否考虑过使用OpenID library?说真的,让OpenID正确(意味着安全,可互操作)是一项艰巨的任务。比组装正确的查询字符串更大的方式。 :)