Foxtable(狐表)用户栏目专家坐堂 → 关于微信简单授权,访问没有反应


  共有2427人关注过本帖树形打印复制链接

主题:关于微信简单授权,访问没有反应

帅哥哟,离线,有人找我吗?
ycwk
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2017/4/21 15:22:00 [只看该作者]

这个icp的地址在手机微信上可以打开,用pc机的浏览器打不开,提示404,咋回事了?

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/21 15:33:00 [只看该作者]

以下是引用ycwk在2017/4/21 15:22:00的发言:
这个icp的地址在手机微信上可以打开,用pc机的浏览器打不开,提示404,咋回事了?

 

指什么?微信授权只能在微信客户端上使用。


 回到顶部
帅哥哟,离线,有人找我吗?
ycwk
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2017/4/21 15:35:00 [只看该作者]

还没有授权,就是普通的页面就只能在微信上面打开, 用chrome就提示404,我郁闷了

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/21 15:40:00 [只看该作者]

以下是引用ycwk在2017/4/21 15:35:00的发言:
还没有授权,就是普通的页面就只能在微信上面打开, 用chrome就提示404,我郁闷了

 

什么页面?贴出地址


 回到顶部
帅哥哟,离线,有人找我吗?
ycwk
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2017/4/21 17:36:00 [只看该作者]

以下是引用有点色在2017/4/21 15:13:00的发言:
 跳转到的是这个地址 xdf/service/ApplyService.htm 你应该判断这个地址
这个地址现在可以访问了,但是还是弹不出授权页面,我在微信上面直接挂一个地址 https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx75369af48*****59&redirect_uri=http%3a%2f%2fwx.****.com.cn%2fxdf%2fservice%2fApplyService.htm&response_type=code&scope=snsapi_base&state=123#wechat_redirect

居然直接打开了applyservice.htm 这个页面,并没有提示我授权,而且也从来没有授权过,这是怎么回事?


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/21 17:41:00 [只看该作者]

 

关于特殊场景下的静默授权

1、上面已经提到,对于以snsapi_base为scope的网页授权,就静默授权的,用户无感知; 

2、对于已关注公众号的用户,如果用户从公众号的会话或者自定义菜单进入本公众号的网页授权页,即使是scope为snsapi_userinfo,也是静默授权,用户无感知。 


 回到顶部
帅哥哟,离线,有人找我吗?
ycwk
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2017/4/21 18:27:00 [只看该作者]

如下写代码, 能弹出   我进来了, 11,33,44     可是0 1 2 3  4 5 都弹不出来, 不至于if else 一个都不满足吧?能帮忙看看是什么问题吗?

Dim e As RequestEventArgs=args(0)
    
    msgbox("我进来了")
    
 '   For Each key As String In e.GetValues.Keys   
 '        msgbox(e.GetValues(key))    '弹不出来
 '   Next
    Dim OpenID As String
    Dim sb As New StringBuilder
    sb.AppendLine("<meta name='viewport' c>")
msgbox(11)
    If e.GetValues.ContainsKey("code") Then '如果通过授权链接跳转而来,就根据传递过来的code参数调用接口,获取用户的OpenID
        Dim ul As String  = "https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code"
        ul = CExp(ul,"wx75369af48****","6fecdca78c5eb1e65ac****",e.GetValues("code"))
        Dim hc As new HttpClient(ul)
        Dim jo As JObject = JObject.Parse(hc.GetData)
msgbox(22)
        If jo("openid") IsNot Nothing Then
            OpenID = jo("openid")
            e.AppendCookie("openid",OpenID) '将openid存储在Cookie中
        End If
    Else
        OpenId =  e.Cookies("openid") '否则从cookie中提取openid
    End If
msgbox(33)
  '   msgbox("OpenID" & OpenId)
    Dim dr As DataRow = DataTables("WeChatUsers").Find("openid  ='" & OpenID & "'") '根据openid找出对应的行
msgbox(44)
    If e.Cookies("openid")>"" AndAlso dr("EmployeeID")>""  Then   '如果缓存中有OpenID且根据OpenID查表能找到EmployeeID不为空的值 则跳转到目标--服务受理页面.
msgbox(0)  
          'sb.AppendLine("欢迎您, <a href='http://wx.***.com.cn/xdf/service/applyservice.htm'>刷新页面</a>")
        Functions.Execute("CheckUser_ApplyService",e)   '则执行显示验证用户身份的函数并返回
        Return "Sucess"
    ElseIf (dr Is Nothing Or dr("EmployeeID")="")  Then    '如果没有根据openid找到数据行,或找到的数据行的employeeID字段为空,则跳转到验证用户身份即输姓名工号密码的页面.
msgbox(1)
          sb.AppendLine("欢迎您, <a href='http://wx.****.com.cn/xdf/service/CheckUser_ApplyService.htm'>刷新页面</a>")          
 
    ElseIf (e.GetValues.ContainsKey("code") = False Or e.Cookies("openid")="")  Then '如果授权失败,且不是通过授权链接跳转而来 或者缓存中没有openid字段 ,那么就跳转到授权链接(以阻止用户非法直接访问目标地址)
msgbox(2)
        Dim ul As String = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx75369af48***&redirect_uri=http%3a%2f%2fwx.****com.cn%2fxdf%2fservice%2fApplyService.htm&response_type=code&scope=snsapi_base&state=123#wechat_redirect"
        sb.Append("<meta http-equiv='Refresh' c>") '跳转到授权链接
        e.WriteString(sb.ToString)
        Return "Fail"
    Else
msgbox(3)
    End If
msgbox(4)
    e.WriteString(sb.ToString)   '向终端推送页面
msgbox(5)



[此贴子已经被作者于2017/4/21 18:30:37编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
ycwk
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2017/4/21 19:07:00 [只看该作者]

如果用合成的网址跳转 到了  静默授权后的网页,用什么代码获取  openid?   

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107304 积分:545781 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/21 21:11:00 [只看该作者]

尽量用WeUI处理Cookie,而不是直接使用e.AppendCookie,可能由于浏览器或者访问方法的原因导致不能保存cookie

微信授权只要授权过一次,没有过期前,不管访问多少次都不会再提示授权的,都是静默授权。你之前肯定授权过一次了

跳转到授权的页面都会有code参数的,都可以通过code获取openid。服务号和订阅号一定时间内的code参数都是一样的,企业号每次授权Code都不一样。

 回到顶部
总数 19 上一页 1 2