企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
> 文档版本:1.0.1 > 编辑时间:2021.09.17 ## 第三方在盛事通展开自己业务用户授权说明 > 生产域名:https://shengstapi.tripln.top > 测试域名:http://wanglanglang.tripln.top ### 调用盛事通用户授权前需要准备如下材料 1. 需要盛事通提供开发开发者ID(AppID)和开发者密码(AppSecret) 2. 需要提供授权回调域名给盛事通 > 2、授权回调域名配置规范为全域名,比如需要网页授权的域名为:www.shengst.com,配置以后此域名下面的页面http://www.shengst.com/music.html 、 http://www.shengst.com/login.html 都可以进行OAuth2.0鉴权。但http://pay.shengst.com 、 http://music.shengst.com 、 http://shengst.com 无法进行OAuth2.0鉴权 **第一步:获取code** https://shengstapi.tripln.top/api/uc/ctcyq/oauth2Service/authorize?appid=APPID&redirect\_uri=REDIRECT\_URI&response\_type=code&state=STATE#shengst\_redirect 若提示“该链接无法访问”,请检查参数是否填写错误。 **注意:此链接是在浏览器中访问的,不是用户自己页面中执行http请求** 尤其注意:由于授权操作安全等级较高,所以在发起授权请求时,盛事通会对授权链接做正则强匹配校验,如果链接的参数顺序不对,授权页面将无法正常访问 > 尤其注意:跳转回调redirect_uri,应当使用https链接来确保授权code的安全性。 参数说明 | 参数 | 是否必须 | 说明 | | --- | --- | --- | | appid | 是 | 盛事通分配的唯一标识 | | redirect\_uri | 是 | 授权后重定向的回调链接地址, 请使用 urlEncode 对链接进行处理 | | response\_type | 是 | 返回类型,请填写code | | state | 否 | 重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节 | | #shengst\_redirect | 是 | 无论直接打开还是做页面302重定向时候,必须带此参数 | **授权成功后** 成功授权后,页面将跳转至 redirect\_uri/?code=CODE&state=STATE。 > code说明 : code作为换取access\_token的票据,每次用户授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。 ### 备注说明 > http://wanglanglang.tripln.top/subsidy/#/city-card-index-v7(测试) > https://shengst.tripln.top/subsidy/#/city-card-index-v7(生产) > 调用第一个接口的时候先访问下这个网址,相当于在我们系统登录了。 > 这个网址都需要在微信中打开。(生产环境是在app中进行的) **第二步:通过code换取网页授权access\_token** 通过code调用下面的链接地址可以获取到card_no(身份证号)和access\_token(票据)。 尤其注意:由于盛事通分配的secret和获取到的access\_token安全级别都非常高,必须只保存在服务器,不允许传给客户端。后续刷新access\_token、通过access\_token获取用户信息等步骤,也必须从服务器发起。 请求方法 > 获取code后,请求以下链接获取access\_token: https://shengstapi.tripln.top/api/uc/ctcyq/oauth2Service/access\_token?appid=APPID&secret=SECRET&code=CODE&grant\_type=authorization\_code **注意:此接口需要后端java进行请求,不要在h5页面中请求** | 参数 | 是否必须 | 说明 | | --- | --- | --- | | appid | 是 | 开发者的id | | secret | 是 | 开发者密钥 | | code | 是 | 填写第一步获取的code参数 | | grant\_type | 是 | 填写为authorization\_code | 返回说明 正确时返回的JSON数据包如下: ~~~ { "access_token":"ACCESS_TOKEN", "expires_in":7200, "refresh_token":"REFRESH_TOKEN", "card_no":"kMFSSQhcQDJfDlsocbaxXMYHrMh/sg2OLctfIUpgpvg=" } ~~~ | 参数 | 描述 | | --- | --- | | access\_token | 网页授权接口调用凭证,注意:此access\_token与基础支持的access\_token不同 | | expires\_in | access\_token接口调用凭证超时时间,单位(秒) | | refresh\_token | 用户刷新access\_token | | card_no | 加密后的身份证号 | 错误时盛事通会返回JSON数据包如下(示例为Code无效错误): ~~~ {"errcode":9001,"errmsg":"invalid code"} ~~~ **第三步:拉取用户信息** 请求方法 > http:GET(请使用https协议) https://shengstapi.tripln.top/api/uc/ctcyq/oauth2Service/userinfo?access\_token=ACCESS\_TOKEN&card_no=kMFSSQhcQDJfDlsocbaxXMYHrMh/sg2OLctfIUpgpvg= **注意:此接口需要后端java进行请求,不要在h5页面中请求** 参数说明 | 参数 | 描述 | | --- | --- | | access\_token | 网页授权接口调用凭证| | card_no | 用户的加密后的身份证号 | 返回说明 ![](https://img.kancloud.cn/68/59/6859ad7ce34d36b11efd7213956ba3df_2192x906.png) 未设置AESKEY 返回值 正确时返回的JSON数据包如下: { "errcode": 0, "data": { "card\_no": "21081120000101151X", "name": "李四", "mobile": "15888888891" }, "errmsg": "success" } 设置AESKEY值 ![](https://img.kancloud.cn/f7/44/f7443f4a42595235fc48f953c6d8111e_1562x694.png) 加密后出参 | 参数 | 说明 | | --- | --- | --- | | address | 地址 | | card\_no | 身份证号码 | | nation | 民族 | | sex | 性别 1男2 女 | | name | 姓名 | | mobile | 手机号码 | { "errcode": 0, "data": { "address": "辽宁省营口市老边区路南镇大兴村3号9", "card\_no": "3231303831313139fcf659a0a2ab06cf6ea0", "nation": null, "sex": "1", "name": "-c5c3689288ef43e021a3", "mobile": "31f0fb5ca2a3aa0eca6ac9" }, "errmsg": "success" } ## 解密的工具类下载地址 > https://hd-doc.oss-cn-hangzhou.aliyuncs.com/outreademe/EncrUtil.java