零负担接入扫码登录 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
hvboekml
V2EX    分享创造

零负担接入扫码登录

  •  
  •   hvboekml
    hamibot 2019 年 12 月 24 日 6242 次点击
    这是一个创建于 2234 天前的主题,其中的信息可能已经有所发展或是发生改变。

    安全登录

    安全登录 secauth-logo.png

    前言

    最初是缘于自己的网站想要实现扫码登录,考虑过后决定用小程序来实现,其中的选择考虑就不赘述了。

    自用了几个月,最近做了接入功能,然后开放出来,欢迎使用。

    登录流程

    安全登录,登录流程 secauth-flow.png

    借助微信,安全和便捷兼具

    小程序

    安全登录 secauth-wxacode.png

    如果希望看演示的,请查看文档中的“谁在使用”,登录网站就能体验登录流程,注意,这不是完整的演示,网站用了其中一种方式,你也可以选择其他方式

    文档

    如果觉得有用,欢迎 star 收藏

    https://github.com/secauth/docs

    第 1 条附言    2019 年 12 月 24 日

    登录结果页面,为了避免打扰用户,页面尽可能地简洁,且能迅速离开。

    安全登录主题secauth-theme.jpg

    21 条回复    2023-04-29 02:03:24 +08:00
    bagel
        1
    bagel  
       2019 年 12 月 24 日   2
    不知道微信登录在 web 上是残次品吗?你说说用手机访问你网站怎么登录?
    oh
        2
    oh  
       2019 年 12 月 24 日 via iPhone   3
    别的不知道,这个小程序名称起得真好……
    hvboekml
        3
    hvboekml  
    OP
       2019 年 12 月 24 日
    @bagel 用在 web 的,怪我没说哈
    liangxunli
        4
    liangxunli  
       2019 年 12 月 24 日   1
    小程序名称起得真好
    d5
        5
    d5  
       2019 年 12 月 24 日   1
    hamibot 也是好东西啊,还加了作者微信
    bagel
        6
    bagel  
       2019 年 12 月 24 日   1
    看了眼 hamibot,网站好评,简洁,大量留白。回过头来再看登录这个,设计挺好,文档也有,完成度不错的。

    还是可惜了,因为其一微信 web 登录事实上就是 broken 状态;其二正常人不可能把自己的用户体系绑定到一个个人作品上面。作为产品的逻辑是不成立的。当然分享精神要赞扬。
    hvboekml
        7
    hvboekml  
    OP
       2019 年 12 月 24 日
    @bagel 感谢你的认可,关于你说的情况,我做下说明:

    1. 「微信 web 登录事实上就是 broken 状态」,这个不是微信官方的扫码登录,两者没有联系哦;

    2. 「正常人不可能把自己的用户体系绑定到一个个人作品上面」,第三方登录貌似蛮多的吧,至于是个人作品,确实如此,我在开发之初考虑了稳定性,所以服务并不是部署在个人的服务器,而是使用腾讯云的云函数。
    ivydom
        8
    ivydom  
       2019 年 12 月 24 日   1
    推荐用 Authing 做小程序扫码登录,在 Authing 的 Public Cloud 上,更安全: https://docs.authing.cn/authing/advanced/wxapp-qrcode
    体验:sample-sso.authing.cn 打开后点击「扫码登录」体验。
    justin2018
        9
    justin2018  
       2019 年 12 月 24 日   1
    @hvboekml 楼主 这个长期运营么
    hvboekml
        10
    hvboekml  
    OP
       2019 年 12 月 24 日
    @justin2018 零负担不仅对于开发者,对于我也是,同时自己也是使用者,有足够动机维护下去
    hvboekml
        11
    hvboekml  
    OP
       2019 年 12 月 24 日
    @ivydom 你说的更安全,可以详细说下吗,望不吝赐教
    dsnake1984
        12
    dsnake1984  
       2019 年 12 月 24 日
    这应该是 脱离微信 第三方 更不可信任了
    rizon
        13
    rizon  
       2019 年 12 月 24 日
    @bagel #1 说到这个我就想到最搞笑的,看视频的时候的时候好多广告都是扫描二维码,尼玛现在电脑看视频的有几个?我拿着手机看视频你让我扫描二维码。。。。

    不过话说回来,这也是 iOS 的缺陷,安卓阵营的手机,很多都内置了直接识别屏幕上二维码的功能。。。
    rizon
        14
    rizon  
       2019 年 12 月 24 日
    我用 hamibot 试了下,扫码后直接显示个贴图文字登陆成功,,,也不给授权就直接卖 token 了,,,这也就罢了

    我没点确定,本来以为不会登陆,可过了似乎是半分钟? hamibot 还是悄悄的就登陆进去了,但是在你的 app 的设置-授权管理里面却是空的,没有 hamibot ?这是什么情况
    rizon
        15
    rizon  
       2019 年 12 月 24 日
    @rizon #14 我猜测是,在我没有授权用户信息给你的 app 的时候你仍然可以用,但是关联不到个人的信息了
    hvboekml
        16
    hvboekml  
    OP
       2019 年 12 月 24 日
    @rizon 很遗憾你猜错反向了,授权为空是因为本来就没请求授权,既然没有请求授权,那个人信息就无从谈起了。
    hvboekml
        17
    hvboekml  
    OP
       2019 年 12 月 24 日
    @dsnake1984 首先微信对个人信息有控制,其次安全登录并不依赖个人信息
    robinchina
        18
    robinchina  
       2019 年 12 月 25 日   1
    是不是把小程序获取到的用户 openid 扔给网站就完事了?

    如果这样,我觉得挺安全的啊,这 openid 又不是什么隐私
    hvboekml
        19
    hvboekml  
    OP
       2019 年 12 月 25 日
    @robinchina 是的,没错,而且进一步做了加密,完全不涉及隐私。
    xiaoyanbot
        20
    xiaoyanbot  
       2020 年 1 月 30 日
    很赞!!!!
    ZiShuo
        21
    ZiShuo  
       2023 年 4 月 29 日
    来一个挖坟贴,最近有个玩意想用这东西,从微信里面翻出来了,结果楼主你的服务挂了,不知道能不能开源下代码?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4482 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 567ms UTC 08:30 PVG 16:30 LAX 00:30 JFK 03:30
    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