hzanchu / zhelb
浙里办对接功能模块
1.0
2022-10-31 08:22 UTC
Requires
- php: >=7.0.0
This package is not auto-updated.
Last update: 2024-10-29 15:20:58 UTC
README
1. 浙里办法人登录
1.1 使用举例
必要条件:
- 请浙里办技术支持在测试环境中添加回调地址白名单,如:
老师,测试环境帮我们配置下回调地址吧 access_key:5319d9...71fd4 测试回调地址:https://test.com/api/zhelib/login
- url:用于请求浙里办的接口调用地址
政务外网环境接口地址: https://bcdsg.zj.gov.cn:8443/.../rest/user/query
互联网环境接口地址: https://ibcdsg.zj.gov.cn:8443/.../rest/user/query - access_key:组件超市进行组件使用申请;
- secret_key:组件超市进行组件使用申请;
上述三个一旦确定就不会变,但是也应该写到于环境有有关的文件中,如:在laravel中应该写到.env文件中;
另外还需要一个参数:
- token:由浙里办返回的ssotoken,返回参数如下:
[ 'sundata' => 'RU5DUllQVEVE4NW...5L4cdZ9/SA==', // string(644) 'ssoticket' => 'AQIC5wM2LY4SfcwJq...UzEAAjAz*', // string(106) 'spappurl' => 'https://test.com/login', 'ssotoken' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 'reditct' => 'https://test.com/reditct', ]
1.2 控制器举例
控制器举例如下所示:
namespace App\Http\Controllers;
use Anchu\Zhelb\Login\ZhelbLegalLogin;
class ApiController extends Controller
{
/**
* @param $params
*/
public function ZhelbLegalLogin($params) {
$url = '...';
$ak = '...';
$sk = '...';
$token = $params['ssotoken'];
$client = new ZhelbLegalLogin($url, $ak, $sk);
$res = $client->getZhelbUserInfo($token);
// todo: 下一步应该将用户信息存入到本地数据库,进行相关业务操作
// $res = [
// 'errCode' => 0, // 0表示成功
// 'msg' => '错误说明',
// 'info' => [
// 'CompanyName' => '公司名称',
// 'uniscid' => '',
// 'CompanyRegNumber' => '',
// 'OrganizationNumber' => '',
// 'OrgType' => '',
// 'CompanyType' => '',
// 'CompanyAddress' => '',
// 'telephoneNumber' => '',
// 'CompanyScope' => '',
// 'CompanyRegOrg' => '',
// 'CompanySerialNumber' => '',
// 'username' => '',
// 'certName' => '',
// 'certNbxh' => '',
// 'certRegNo' => '',
// 'certHxbh' => '',
// 'certSn' => '',
// 'certDecSn' => '',
// 'certBase64' => '',
// 'loginType' => '',
// 'realLevel' => '',
// 'xzqh' => '',
// 'CompanyLegRep' => '',
// 'status' => '',
// 'attnPhone' => '',
// 'attnName' => '',
// 'attnIDType' => '',
// 'attnIDNo' => '',
// 'attnLandLinePhone' => '',
// ]
// ];
}
}
1.3 如何获取token
假设上述控制器的路由为:
https://test.com/api/zhelib/login
因此可以采用如下方式调用浙里办接口来返回token(前提是已经请浙里办的技术支持添加了回调地址的白名单):
http://essotest.zjzwfw.gov.cn/opensso/spsaehandler/metaAlias/sp?spappurl=https://test.com/api/zhelib/login&reditct=https://mapi.zjzwfw.gov.cn/web/mgop/gov-open/zj/2002281895/v0.0.1/index.html?debug=true
将上述地址输入浏览器,会调出浙里办的登录入口,输入账号密码后会返回token等信息。