企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 根据uid获取user\_token ## API文档 ### 用户信息变更接口地址 ``` <pre class="calibre26"> ``` https://[独立部署OSX后端域名]/commonapi/user/getUserTokenByUid? ``` ``` #### 输入参数(Get请求方式传参) 参数 是否必须 参数类型 限制长度 参数说明 user\_token 是 string 255 用户唯一性标识 appKey 是 string 255 接口appKey,应用的唯一标识 endtimestamp 是 String 20 请求有效期,截止有效时间。1970-01-01开始的时间戳,秒为单位。 sign yes string 255 MD5签名,详见 [【签名规则】](http://oa.xiangtian.ren/index.php?mod=corpus&op=list&cid=58#fid_619)#### 用户信息变更接口地址示例 ``` <pre class="calibre26"> ``` http://osxbenew.demo.opensns.cn/commonapi/user/userInfoChanged?&user_token=14359234985&endtimestamp=1520559858&appKey=testappKey&sign=49b12bc5579a2a2a4652a68cd53c1e5e ``` ``` #### 接口返回json格式示例 \> **json格式中主要包含data字段,data字段下是user\_token、userInfo 分别保存了用户唯一标识以及用户信息** ``` <pre class="calibre26"> ``` {     "code":200,     "msg":"ok",     "data":{ 'user_token':string,//用户token 'uid':uid } } ``` ``` ``` <pre class="calibre26"> ``` {     "code":200,     "msg":"error",     "data":"不存在用户token" } ``` ``` ### 注意事项 1. OSX用户信息变更接口url经过签名,**该url地址5分钟失效,请务必在生成地址后立即使用** 2. **appSecrect** 是OSX短说签名验证的关键密钥,**切勿**作为参数加入免登URL,否则将导致appSecrect泄露,由此造成的损失OSX短说概不负责。 #### php代码示例 ``` <pre class="calibre26"> ``` /** * 测试生成用户信息变更接口地址 * 用户信息变更接口地址涉及到的参数包含 * $user_token,$appKey,$appSecret,$endtimestamp等参数 */ $appKey = 'AppKey';//填写自己应用的appKey $appSecret ='AppSecret';//填写自己应用的AppSecret $endtimestamp = time()+5*60;//当前时间+5分钟,5分钟有效期,单位秒 $user_token = '11132436534';//开发者服务端系统用户唯一标识 $url = "http://osxbenew.demo.opensns.cn/commonapi/user/userInfoChanged?"; $url = $url.'user_token='.$user_token.'&endtimestamp='.$endtimestamp.'&appKey='.$appKey; //用于签名的数组 $sign_array=[ 'endtimestamp'=&gt;$endtimestamp, 'user_token'=&gt;$user_token, 'appKey'=&gt;$appKey, 'appSecret'=&gt;$appSecret ]; //数组按键名升序排列处理后['appKey'=&gt;$appKey,'appSecret'=&gt;$appSecret,'endtimestamp'=&gt;$endtimestamp,'user_token'=&gt;$user_token] ksort($sign_array); //一维数组转字符串,用''拼接。等价于$appKey.$appSecret.$endtimestamp.$user_token $sign_before_str = implode('',$sign_array); //通过MD5加密成sign $sign=md5($sign_before_str); //拼接成最终的用户信息变更通知API $userInfoChanged_url = $url.'&sign='.$sign; //接下来通过curl通知OSX用户信息有变更 $ch = curl_init();// 初始化一个新会话 curl_setopt($ch, CURLOPT_URL, $userInfoChanged_url);// 设置要求请的url curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); try { // 执行CURL请求 $output = curl_exec($ch); // 关闭CURL资源 curl_close($ch); $output=json_decode($output,true); if($output['msg']=='ok'){ return true;//用户信息更新成功 }else{ return false;//用户信息更新失败,失败原因:$output['data'] } } catch (\Exception $e) { return false;//用户信息更新失败,失败原因:$e-&gt;getMessage() } ``` ```