身份验证技术方案1身份认证流程-微校-腾讯.PDFVIP

身份验证技术方案1身份认证流程-微校-腾讯.PDF

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
身份验证技术方案1身份认证流程-微校-腾讯

身份验证技术方案 身份验证技术方案 1、身份认证流程 1.1 账号密码验证身份 1.2 签名算法 1.2.1 签名生成的通用步骤 1.2.2 APP_KEY  APP_SECRET 1.3 数据加密 2、身份认证接口 2.1 请求方式 2.2 请求参数 2.3 数据返回 3、附件 3.1 PHP 加解密 3.2 Java 加解密 1、身份认证流程 1.1 账号密码验证身份 身份认证是其他应用的基础 ,认证方 (即 :校方 )需要提供一个验证接口 ,具体身份绑定流程 如下 : 身份认证绑定步骤 : 学生在微信客户端打开应用 ,触发微信公众号授权 (授权页面提示授权给腾讯微校 )。 微信公众号授权后 ,回调跳转到微校身份绑定页面 ,输入校园账号 (例如学号 )以及相 应的密码 , 微校页面数据发送到微校后台 (注:微校后台不会保存学生的账号和密码 ),微校后台把 对应的信息加密同时附上签名发送到认证方的认证接口 (认证方需提供校验接口)。 认证方验证签名、解密 ,验证学生身份 ,返回加密后的校验结果。 微校收到对应的验证消息 ,若成功则跳转到对应的应用页面 ,失败则做出相应提示。 1.2 签名算法 签名采用微信支付后端签名算法 1.2.1 签名生成的通用步骤 设所有发送或者接收到的数据为集合M ,将集合M内非空参数值的参数按照参数名ASCII码从小 到大排序 (字典序 ),使用URL键值对的格式 (即key1 value1key2 value2…)拼接成字符 串stringA。  特别注意以下重要规则 : 参数名ASCII码从小到大排序 (字典序 ); 如果参数的值为空不参与签名 ; 参数名区分大小写 ; 验证调用返回或微信主动通知签名时 ,传送的sign参数不参与签名 ,将生成的签名与该 sign值作校验。 在stringA最后拼接上key得到stringSignTemp字符串 ,并对stringSignTemp进行MD5运算 ,再将 得到的字符串所有字符转换为大写 ,得到sign值signValue。  签名算法示例 (签名验证地址 ): private static function sign($param_array){ $names = array_keys($param_array) sort($names, SORT_STRING) $item_array = array() foreach ($names as $name){ $item_array[] = {$name}={$param_array[$name]} } $secret_key = APP_SECRET $str = implode( , $item_array) . key= . $secret_key return strtoupper(md5($str)) } 1.2.2 APP_KEY  APP_SECRET 由微校生成 ,每个公众号拥有一对唯一的 APP_KEY  和  APP_SECRET  。  APP_KEY  和  APP_SECRET  与公众号的关系是一对一。也就是说 ,不同的公众号 ,访问同一个 身份认证接口 ,所用的 APP_KEY  跟  APP_SECRET  是不一样的。 1.3 数据加密 采用AES对称加密算法 (AES/CBC/ZeroPadding 128位模式 ),具体算法见附件。 KEY = APP_KEY IV = APP_SECRET 前16位。 2、身份认证接口 2.1 请求方式 2.1 请求方式 身份验证接口采用 POST 的方式向认证方发送数据。 2.2 请求参数 原始数据  R : { card_number:3109005843, password:helloworld, app_key:APP_KEY, nonce_s

文档评论(0)

laolao123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档