本帖最后由 cf_ihuyi 于 2016-6-28 10:13 编辑  
 
目的 无论是签名还是微信登录,都是为了加强安全性,防止被刷奖,将被刷奖的可能性降低。  
 
2种方式区别 微信登录:当应用或系统限定于微信内使用则可以选择微信登录,这也是最为常见的方式,通常不需要开发即可使用。 签名登录:当应用想要更强的兼容性或限定于APP内,PC端,不止在微信内使用则可以选择此登录方式,当然也可以在微信内使用。签名生成代码工作量非常少,通常10行以内代码即可搞定。  
 
用户唯一性判定方式 同一活动中,同一微信openid或签名id 与手机号码绑定,是一对一关系,同样微信号或同样签名id算作一个用户,手机号码不可重复。  
 
选择建议  
 - 微信是个非常好的传播渠道,没有特别需要,直接使用此方式会更便捷和快速以及更好传播(可以不需要开发);
 
  - 关注微信公众号之类的活动,首选微信登录;
 
  - APP内活动则可以使用签名登录;
 
  - PC端站点活动首选签名登录;
 
  - 确保用户必须满足一定的资格才能参与活动则可以选择签名登录;
 
 
  
 
签名应用场景举例  
 - 充值满1000元拥有1次抽奖机会;
 
  - 实名验证之后拥有1次抽奖机会;
 
  - 绑定银行卡之后才能拥有1次抽奖机会;
 
  - 用户级别达到3级拥有1次抽奖机会;
 
  - 微信用户是已关注了微信公众号拥有1次抽奖机会;
 
  - ……
 
 
  
注意: 目前只提供1次抽奖机会,若需要对同一用户提供多次抽奖机会,请与我们沟通。  
 
签名生成方式说明  
传递参数: id:标识id nonce:随机数 timestamp:时间戳(数值型,允许 10 分钟 统一以东 8 时间,格式如:1420045261) sign:签名  
加密方式:对参数按照key=value的格式,并按照参数名ASCII字典序排序并拼接项目密钥。  
$string = "id=$id&nonce=$nonce&secret=密钥×tamp=$timestamp"; $sign=sha1($string);  
则传递如:  
 
 
返回错误码 1001:缺少关键参数如:id nonce  timestamp sign 1002:签名过期,目前为10分钟 1003:签名验证错误  
 
 
更多功能 当传递参数cid时,若选择『流量券』方式,则任务链接会自动加上传递的参数  |