微信说 Appsecret 需要放在 App 云端服务器,由云端中转接口调用请求才安全,具体怎样操作呢 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
xiaoc19
V2EX    程序员

微信说 Appsecret 需要放在 App 云端服务器,由云端中转接口调用请求才安全,具体怎样操作呢

  •  
  •   xiaoc19 2017-06-01 13:15:48 +08:00 5805 次点击
    这是一个创建于 3062 天前的主题,其中的信息可能已经有所发展或是发生改变。

    1、Appsecret 是应用接口使用密钥,泄漏后将可能导致应用数据泄漏、应用的用户数据泄漏等高风险后果;存储在客户端,极有可能被恶意窃取(如反编译获取 Appsecret ); 2、access_token 为用户授权第三方应用发起接口调用的凭证(相当于用户登录态),存储在客户端,可能出现恶意获取 access_token 后导致的用户数据泄漏、用户微信相关接口功能被恶意发起等行为; 3、refresh_token 为用户授权第三方应用的长效凭证,仅用于刷新 access_token,但泄漏后相当于 access_token 泄漏,风险同上。

    建议将 Appsecret、用户数据(如 access_token )放在 App 云端服务器,由云端中转接口调用请求。

    微信给出了这样的建议,网上很多资料都是直接放在 APP 里这种不安全的做法, 请问大家都是如何安全存储的,由云端中转接口调用请求又需要怎样的使用方式呢?

    6 条回复    2017-06-01 16:47:15 +08:00
    mytsing520
        1
    mytsing520  
    PRO
       2017-06-01 13:20:41 +08:00
    APP 发起请求到服务器,服务器和微信服务器之间用 API 调用,返回结果到 APP,而不是 APP 直接向微信服务器调用
    itroad
        2
    itroad  
       2017-06-01 14:15:53 +08:00
    其实说白了,就是微信的接口请求数据交给你的服务端,再由服务端接口给 app 客户端,这样保证了秘钥不暴露.而客户端则是非常不安全的,不应客户端直接发起向微信服务调用.
    Returnear
        3
    Returnear  
       2017-06-01 14:30:33 +08:00
    这么说吧,你爸给你和你的十个兄弟发生活费。
    第一种是你爸用自己的工资卡给你们的账户转账。
    第二种是你爸把自己工资卡复制了十份,然后把密码也告诉你们,你们自己取。
    你说哪种方式安全
    xiaoc19
        4
    xiaoc19  
    OP
       2017-06-01 14:53:26 +08:00
    @mytsing520
    @itroad
    @Returnear

    你们说的这些我都懂,微信说的很明白了,但是到具体,
    微信能使用 code 获取 access_token,
    QQ 登录是不是不能这样做?

    成熟的 APP 都是怎么做的
    caidaofff
        5
    caidaofff  
       2017-06-01 16:44:37 +08:00
    public function getOpenId(){
    //$url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code ';
    $code =$_GET['code'];
    if(empty($code)){
    die;
    }
    $appId = 'wx1234123412341234';
    $secret = '3434212331234123235345';
    $s = 'CODE';
    $result = file_get_contents('https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appId.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code');
    这个扔后端,前端 js 将 code 送进来,返回的就是 access_token
    caidaofff
        6
    caidaofff  
       2017-06-01 16:47:15 +08:00
    其实一楼已经说的很清楚了,我这个是具体写法,随手写的,错误自检哈
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     843 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 22:24 PVG 06:24 LAX 15:24 JFK 18:24
    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