V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xiaoc19
V2EX  ›  程序员

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

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

    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  
       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   ·   实用小工具   ·   1000 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:14 · PVG 03:14 · LAX 11:14 · JFK 14:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.