单点登录模块授权页面
描述
开放平台客户使用单点登录功能时,需要对本方公司进行模块授权,以方便直接单点登录进入契约锁页面。此接口会返回授权页面的链接,注意:开放平台单点登录免密签署不生效,接口支持并发,不支持幂等,接口支持回调。
请求地址
/v2/ssoprivilege/url
请求方式
POST
请求格式
application/json;charset=UTF-8
请求参数
参数名称 | 类型 | 是否必填 | 长度 | 描述 | 示例 |
---|---|---|---|---|---|
company | Company | Y | 单点登录的公司或子公司,以及外部企业 | 详见Company | |
user | User | Y | 单点登录的用户 | 详见User | |
successUrl | String | N | 单点登录成功后的跳转契约锁的地址 | www.baidu.com | |
callbackUrl | String | N | 单点登录成功后回调地址 | www.sina.com.cn | |
pageStyle | PageStyle | N | 页面风格 | 详见PageStyle |
Company(单点登录公司):
参数名称 | 类型 | 是否必填 | 长度 | 描述 | 示例 |
---|---|---|---|---|---|
id | String | CY | 19 | 公司id,不可与名称同时为空 | 2931411786447082238 |
name | String | CY | 100 | 公司名称,不可与id同时为空 | 众畅科技有限公司 |
User(单点登录的用户):
参数名称 | 类型 | 是否必填 | 长度 | 描述 | 示例 |
---|---|---|---|---|---|
contact | String | Y | 20 | 单点用户联系方式 | 10001230001 |
contactType | String | Y | 10 | 联系方式类型:MOBILE或EMAIL | MOBILE |
PageStyle(页面风格):
参数名称 | 类型 | 是否必填 | 长度 | 描述 | 示例 |
---|---|---|---|---|---|
themeColor | String | N | 7 | 自定义页面主题色,RGB颜色(16进制),默认取业务系统令牌配置的主题色(#2489F2) | #222333 |
请求示例
Http示例
POST /v2/ssoprivilege/url HTTP/1.1
Host: [host]
x-qys-open-timestamp: [替换为请求头生成的Timestamp]
x-qys-open-signature: [替换为请求头生成的Signature]
x-qys-open-accesstoken: [替换为请求头生成的Token]
Content-Type: application/json
Content-Length: 157
{
"company":{
"name":"上海亘岩网络科技有限公司"
},
"user":{
"contact":"136****0110",
"contactType":"MOBILE"
},
"successUrl":"http://www.qiyuesuo.com/open/moduleprivilege/url?openPageToken=ddb9f487-0e75-43cf-90a0-30cf9a6e50a0"
}
Java示例
// 初始化sdkClient
String serverUrl = "https://openapi.qiyuesuo.cn";
String accessKey = "替换为您申请的开放平台App Token";
String accessSecret = "替换为您申请的开放平台App Secret";
SdkClient sdkClient = new SdkClient(serverUrl, accessKey, accessSecret);
// 合同页面
OpenSSOPrivilegeUrlRequest request = new OpenSSOPrivilegeUrlRequest(new Company("上海亘岩网络科技有限公司"), new User("136****0000", "MOBILE"));
request.setSuccessUrl("https://www.qiyuesuo.com");
String response = sdkClient.service(request);
SdkResponse responseObj = JSONUtils.toQysResponse(response, OpenSSOPrivilegeUrlResult.class);
if("00000000".equals(responseObj.getResponseCode())) {
logger.info("请求成功,授权页面为:{}", responseObj.getResult().getPageUrl());
} else {
logger.info("请求失败,错误码:{},错误信息:{}", responseObj.getCode(), responseObj.getMessage());
}
C#示例
敬请期待
PHP示例
// 初始化$sdkClient
class Util {
const url = "https://openapi.qiyuesuo.me";
const accessKey = "替换为您申请的开放平台App Token";
const accessSecret = "替换为您申请的开放平台App Secret";
}
$sdkClient = Util::getSDk();
$baseRequest = new OpenSSOPrivilegeUrlRequest();
$company = new Company();
$company->setName("上海亘岩网络科技有限公司");
$baseRequest->setCompany($company);
$user = new User();
$user->setContact("136****0110");
$user->setContactType("MOBILE");
$baseRequest->setUser($user);
$baseRequest->setSuccessUrl("http://www.qiyuesuo.com");
$baseRequest->setCallbackUrl("https://openapi.qiyuesuo.cn");
$result = $sdkClient->service($baseRequest);
print_r($result);
Python示例
#初始化SdkClient
url = "https://openapi.qiyuesuo.cn"
accessToken = '替换为您申请的开放平台App Token'
accessSecret = '替换为您申请的开放平台App Secret'
sdkClient = SdkClient(url, accessToken, accessSecret)
request = OpenSSOPrivilegeUrlRequest()
company = Company()
company.set_name("上海亘岩网络科技有限公司")
request.set_company(company)
# 操作人设置
user1 = User()
user1.set_contact("131xxxxxxxx")
user1.set_contactType("MOBILE")
request.set_user(user1)
openSSOPrivilege = sdkClient.request(request)
print('单点登录模板授权页面:\n', str(openSSOPrivilege), '\n')
Go示例
sdkClient := http.NewSdkClient("https://openapi.qiyuesuo.cn", "替换为您申请的开放平台App Token", "替换为您申请的开放平台App Secret")
req := request.OpenSSOPrivilegeUrlRequest{}
company := model.Company{}
company.Name = "测试11-8-1"
req.Company = &company
user := model.User{}
user.Contact = "10000000011"
user.ContactType = "MOBILE"
req.User = &user
response, err := sdkClient.Service(req)
if err != nil {
fmt.Println("request failed,", err.Error())
return
}
fmt.Println(response)
返回参数
参数名称 | 类型 | 长度 | 描述 |
---|---|---|---|
responseCode | Integer | 响应码 | |
message | String | 200 | 响应消息 |
result | Result | 返回数据 |
Result(授权页面数据):
参数名称 | 类型 | 长度 | 描述 |
---|---|---|---|
pageUrl | String | 授权页面链接,链接有效期30分钟 |
响应码
(全局响应码请查看文档末“全局响应码”):
响应码 | 描述 |
---|---|
11041801 | COMPANY NOT FOUND,当前公司不存在。 |
11041802 | NO COMPANY PERMISSION,当前公司无权限; 仅支持对接方以及其子公司。 |