微信授权神奇操作请教~ - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Waterchestnut
V2EX    程序员

微信授权神奇操作请教~

  •  
  •   Waterchestnut 2020-07-02 17:29:00 +08:00 4570 次点击
    这是一个创建于 1932 天前的主题,其中的信息可能已经有所发展或是发生改变。

    偶然看一个公众号,点过去不需要授权也能拿到头像和昵称,并且生成了账号 ID,下次点进来还是这个账号 ID,说名该网页已经拿到了 open id 。不然无法识别是同一个用户。

    想跟大佬们请教下,这里不需要授权就能拿到信息是怎么操作的?

    链接我贴一下,大家瞻仰下

    http://www.huoxingplan.com/User/index/sid/8009103.html

    41 条回复    2020-07-03 17:56:23 +08:00
    kop1989
        1
    kop1989  
       2020-07-02 17:29:43 +08:00
    公众号拿头像不需要授权的啊
    kop1989
        2
    kop1989  
       2020-07-02 17:31:54 +08:00
    openID 的话别说授权,不关注都可以拿到。
    guolaopi
        3
    guolaopi  
       2020-07-02 17:33:42 +08:00
    你这个链接里也没有啥头像啊,不知道的以为你推广呢
    guolaopi
        4
    guolaopi  
       2020-07-02 17:35:20 +08:00
    @kop1989 求教用户不授权怎么拿得到微信 openId 。。。
    helone
        5
    helone  
       2020-07-02 17:35:46 +08:00
    公众号我没记错的话能静默授权,只需要中间跳转一下再跳回来就能拿到用户简单的信息,不需要确认啥的
    helone
        6
    helone  
       2020-07-02 17:36:52 +08:00
    liKeYunKeji
        7
    liKeYunKeji  
       2020-07-02 17:37:37 +08:00
    我打开是有要求授权的,如果取消授权,注册账号是没有头像的,我注册了之后没显示头像。单纯的获取 openid 是不需要授权就能获得 openid 的,如果要获得头像和昵称必须要授权。
    cqtop
        8
    cqtop  
       2020-07-02 17:37:57 +08:00
    静默授权 了解下
    swuzjb
        9
    swuzjb  
       2020-07-02 17:39:45 +08:00
    kop1989
        10
    kop1989  
       2020-07-02 17:40:13 +08:00
    guolaopi
        11
    guolaopi  
       2020-07-02 17:50:59 +08:00 via Android
    @helone
    @kop1989

    抱歉,刚看文档 snsapi_base 静默授权我看到了,
    但是#2 不关注公众号的话也会生成 openId 吗?我蒙了.

    https://developers.weixin.qq.com/doc/offiaccount/User_Management/Get_users_basic_information_UnionID.html#UinonId
    这里第一行说:“在关注者与公众号产生消息交互后,公众号可获得关注者的 OpenID 。”
    guolaopi
        12
    guolaopi  
       2020-07-02 17:52:12 +08:00 via Android
    @pytth
    感觉是骗注册(滑稽
    kop1989
        13
    kop1989  
       2020-07-02 17:53:13 +08:00
    @guolaopi #11 你可以理解为这个交互也包含用本公众号 appid 申请 code 的网页
    guolaopi
        14
    guolaopi  
       2020-07-02 17:54:59 +08:00
    @kop1989 #13
    但是前提不是首先得是“关注者”,之后才消息交互吗。。
    kop1989
        15
    kop1989  
       2020-07-02 17:56:20 +08:00
    @guolaopi #14 这个可能就是微信自己产品设计和程序不匹配的问题了。微信的文档坑很多。
    guolaopi
        16
    guolaopi  
       2020-07-02 17:59:42 +08:00
    @kop1989
    我一直理解 OpenId 的逻辑是用户 X 关注了公众号 A 的时候微信服务器生成一个 OpenId 。。。

    照你说的逻辑难道微信是提前(或者每有人创建一个公众号的时候)就为 X 生成了关于 A 的 OpenId 在那放着,
    不管 X 有没有关注 A,openId 都存在?

    那微信服务器压力是不是有点大。。。。
    haiyan
        17
    haiyan  
       2020-07-02 18:00:19 +08:00
    静默授权只能拿到 OPENID,其他的信息都拿不到的
    Waterchestnut
        18
    Waterchestnut  
    OP
       2020-07-02 18:01:02 +08:00
    @kop1989 open id 不授权怎么拿到?求解
    Waterchestnut
        19
    Waterchestnut  
    OP
       2020-07-02 18:01:19 +08:00
    @guolaopi 不是推广。。。
    guolaopi
        20
    guolaopi  
       2020-07-02 18:03:24 +08:00 via Android
    @haiyan
    拿到 openId 后
    GET 调用: https://api.weixin.qq.com/cgi-bin/user/info?access_token=Token&openid=openid&lang=zh_CN 这个接口,
    可以获取到用户信息,刚用 PostMan 测的。
    guolaopi
        21
    guolaopi  
       2020-07-02 18:04:28 +08:00 via Android
    @Waterchestnut
    微信文档,静默授权,可以的。
    用户感觉是调到一个网址再跳回来,基本上无感。
    annielong
        22
    annielong  
       2020-07-02 18:09:48 +08:00
    静默授权,一直用这个,可以获取基本信息,不管是否关注公众号,openid 感觉像是个人原始微信号和公众号 id 结合生成的,
    kamal
        23
    kamal  
       2020-07-02 18:31:03 +08:00
    如果你授权过同一个微信开放平台的其他公众号,就会生成 unionId,同时记录下你的个人信息;
    当前公众号(也绑定在同一个开放平台)只需要静默授权就能获得 openId,用 openid 可以查询到 unionId,再查询到你的个人信息,展示出来。
    Waterchestnut
        25
    Waterchestnut  
    OP
       2020-07-02 18:39:16 +08:00
    @helone 我记得 2019 上半年的时候微信停用了静默授权
    Waterchestnut
        26
    Waterchestnut  
    OP
       2020-07-02 18:39:31 +08:00
    @helone 我看下
    Waterchestnut
        27
    Waterchestnut  
    OP
       2020-07-02 18:39:45 +08:00
    @pytth 是的,我是这么理解的
    Waterchestnut
        28
    Waterchestnut  
    OP
       2020-07-02 18:39:59 +08:00
    @swuzjb 感谢,我看下
    Waterchestnut
        29
    Waterchestnut  
    OP
       2020-07-02 18:41:06 +08:00
    @guolaopi 我是关注后点开的,没有关注的 case 没有试过,但是我取消关注,再次点卡又是依然能拿到头像昵称
    Waterchestnut
        30
    Waterchestnut  
    OP
       2020-07-02 18:41:28 +08:00
    @haiyan union id 能拿到吗?
    Waterchestnut
        31
    Waterchestnut  
    OP
       2020-07-02 18:43:27 +08:00
    @guolaopi 这个是要 acess Token 的,这个前端拿不到的,这个 access Token 微信官方不建议给到前端,会有风险的
    swuzjb
        32
    swuzjb  
       2020-07-02 22:37:13 +08:00
    @Waterchestnut 取消关注后 OpenId 也不会消失 openId 是 公众号 和 微信用户的 唯一凭证 应该是有个生成规则的,肯定不是自增的 感觉是个可逆的
    hhyyd
        33
    hhyyd  
       2020-07-02 23:14:30 +08:00
    简单信息不需要授权就可以获取到基本的头像昵称等信息。但是获取 openid 的话,是需要授权的吧。
    d5
        34
    d5  
       2020-07-03 08:15:31 +08:00 via iPhone
    scope=snsapi_base 无论用户关注与否,都可以获得这个用户在你的公众号的唯一 openid 的。下面是个我个人的演示,这是一个图像处理小工具,就是用的服务号 snsapi_base 获取用户 openid 。

    https://photo.opencool.cn
    sayitagain
        35
    sayitagain  
       2020-07-03 09:59:13 +08:00
    sayitagain
        36
    sayitagain  
       2020-07-03 10:01:55 +08:00
    @guolaopi 获取 access_token 这一步就已经可以拿到 openID 了.openID 这个东西无需生成,本来就有一套用户与公众号之间的唯一算法.
    sayitagain
        37
    sayitagain  
       2020-07-03 10:03:02 +08:00
    @hhyyd 不需要,code 换取 access_token 的时候就可以拿到
    guolaopi
        38
    guolaopi  
       2020-07-03 10:47:47 +08:00
    @sayitagain
    好的,学到了~
    zhuweiyou
        39
    zhuweiyou  
       2020-07-03 14:02:07 +08:00
    1 、拿 openid 可以静默授权,不需要用户同意。
    2 、如果你关注了这个公众号,openid 和昵称头像这些,不需要同意,都可以拿到,有 API 的。
    cbasil
        40
    cbasil  
       2020-07-03 14:59:30 +08:00
    1,通过 https://open.weixin.qq.com/connect/oauth2/authorize 跳转拿到 openid,
    2, 通过接口拿到用户昵称,头像,这样就 OK 了。
    3,如果想获取用户手机号啥的,就需要用户同意才行
    yc8332
        41
    yc8332  
       2020-07-03 17:56:23 +08:00
    静默授权可以拿到 openid,要头像昵称就需要弹窗去授权了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1179 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 23:39 PVG 07:39 LAX 16:39 JFK 19:39
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86