# 1. 实现嵌入勤策网页SSO登录

# 1.1. 配置自建应用

# 1.1.1. 沿路径找到菜单 “系统管理” - “外部系统集成” - “菜单集成配置”,点击添加【+】图标,新增一个应用。

avatar
注意:这个"菜单集成配置"菜单需要联系客服操作,企业用户无操作权限。

# 1.1.2. 新增完成后点击“查看授权信息”,获取appId,appSecret和tenantId

avatar

# 1.2. 在自建应用中配置嵌入菜单

# 1.2.1. 点击“菜单管理”,打开菜单列表页,选择需要的客户端类型,在需要的大目录下点击“新增”按钮,开始添加菜单信息。

avatar

avatar

avatar

# 1.2.2. 输入菜单名称,跳转地址,STATE等信息后点“测试”,验证URL有效之后点击“保存”按钮。

avatar

注意:这里的跳转URL就是后续SSO登录的入口,只有验证通过才能保存。

# 1.2.3. 点击“测试”请求信息示例
GET https://www.yourcompany.com/sso/ssoSample.action?state=STATE&code=20230417183217987891839784546456cde26b3c4c93a841df85cc30e38c&tenant_id=**************&app_id=app******** 

注意:请求信息参数code是当前用户的临时授权令牌,tenant_id是当前企业ID,app_id是当前应用ID,state是配置在菜单里的参数STATE。 

失败示例 avatar

成功示例 avatar

# 1.3. 根据步骤1.1.2中获取的配置信息(appId,appSecret和tenantId)取授权令牌AccessToken。

POST https://sso.qince.com/service/oauth/token
{
        "app_id":"************",
        "app_secret":"********",
        "tenant_id":"********"
}
响应信息:
{
    "return_code":0,
    "return_msg":"success",
    "return_data": {
        "access_token":"****************************************",
        "expires_in":7200
    }
}

# 1.4. 用户点击“示例SSO功能”菜单时,从跳转链接参数中获取临时授权码code(参考步骤1.2.3中的code参数),请求获取访问用户信息。

POST https://sso.qince.com/service/oauth/userinfo?access_token=***********************&code=*********************

响应信息:
{
    "return_code":0,
    "return_msg":"success",
    "return_data": {
        "tenant_id":"7102807924041722259",
        "id":"7102807924041722259",
        "name":"张三",
        "user_type": "1",
        "status":"1",
        "depart_id":"5222557594701155252",
        "depart_name":"经营部",
        "full_depart_name":"/总公司/华中大区/销售部/经营部",
        "thrid_id":"244d5c86d3c342f992ced55729fb6f05"
    }
}

# 1.5. 获取登录用户信息后第三方系统自行根据用户信息做鉴权登录。id为勤策用户唯一ID不会变更和修改,thrid_id为第三方系统关联的用户唯一ID。