以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- token验证失败 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=143205) |
||||
-- 作者:qqhealth -- 发布时间:2019/11/17 19:51:00 -- token验证失败 老师您好,帮助代码中的token已改为sinohmo,但是验证失败,不知问题在哪?谢谢! |
||||
-- 作者:有点蓝 -- 发布时间:2019/11/17 20:32:00 -- 服务端代码也要跟着改的http://www.foxtable.com/mobilehelp/topics/0175.htm Dim token = "foxtable" \'必须和设置的Token相同
|
||||
-- 作者:qqhealth -- 发布时间:2019/11/17 21:38:00 -- 老师您好,我是在BS项目的服务端按照帮助改的服务端代码,出现token验证失败。谢谢! |
||||
-- 作者:有点蓝 -- 发布时间:2019/11/17 21:58:00 -- 贴出服务端对应的完整代码看看 Dim token = "sinohmo" \'必须和设置的Token相同
|
||||
-- 作者:qqhealth -- 发布时间:2019/11/17 22:39:00 -- httprequest: Case "wefox" If e.Request.HttpMethod.ToUpper = "GET" If Functions.Execute("VerifySignature",e) Then e.WriteString(e.GetValues("echostr")) End If End If 自定义函数VerifySignature: Dim e As RequestEventArgs = Args(0) Dim token = "sinohmo" \'必须和设置的Token相同 Dim signature As String = e.GetValues("signature") Dim timestamp As String = e.GetValues("timestamp") Dim nonce As String = e.GetValues("nonce") Dim echostr As String = e.GetValues("echostr") Dim aryTmp() As String = {token,timestamp,nonce} Array.Sort(aryTmp) Dim strTmp As String = String.Join("", aryTmp) strTmp = Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strTmp, "SHA1") Return signature = strTmp.ToLower 调试工具结果,没有调试token验证的,access token验证可以 |
||||
-- 作者:有点蓝 -- 发布时间:2019/11/17 23:00:00 -- httprequest事件能不能触发?请把完整事件代码发上来 msgbox(e.path) ‘能不能弹出? select case e.path
Case "wefox" If e.Request.HttpMethod.ToUpper = "GET" If Functions.Execute("VerifySignature",e) Then e.WriteString(e.GetValues("echostr")) End If End If |
||||
-- 作者:qqhealth -- 发布时间:2019/11/18 10:13:00 -- 老师您好, msgbox(e.path) select case e.path ...
Case "wefox" If e.Request.HttpMethod.ToUpper = "GET" If Functions.Execute("VerifySignature",e) Then e.WriteString(e.GetValues("echostr")) End If End If end select 这样可以弹出。 select case e.path ... msgbox(e.path) Case "wefox" If e.Request.HttpMethod.ToUpper = "GET" If Functions.Execute("VerifySignature",e) Then e.WriteString(e.GetValues("echostr")) End If End If end select 这样就不能弹出。 完整代码如下,谢谢!
|
||||
-- 作者:有点蓝 -- 发布时间:2019/11/18 10:42:00 -- if e.path = "wefox" If e.Request.HttpMethod.ToUpper = "GET" If Functions.Execute("VerifySignature",e) Then e.WriteString(e.GetValues("echostr")) End If End If else Dim wb As New weui \'身份验证 Dim Verified As Boolean \'用于标记用户是否通过了身份验证 Dim UserName As String = e.Cookies("username") Dim Password As String = e.Cookies("password") If e.Path = "logon.htm" \'验证用户名和密码 If e.PostValues.ContainsKey("username") AndAlso e.PostValues.ContainsKey("password") Then UserName = e.PostValues("username") Password = e.PostValues("password") End If End If ………………原来httprequest的其它代码 end if |
||||
-- 作者:qqhealth -- 发布时间:2019/11/18 12:05:00 -- 谢谢老师 |