# 1.1 应用授权登录SSO

第三方应用可以使用此接口构造勤策(原外勤365)授权完成后自动跳转的URL

# 1.1.1 授权菜单SSO入口

当外部系统链接URL需要作为菜单嵌入勤策(原外勤365)手机APP或WEB系统时,由于在勤策(原外勤365)已经登录,用户打开菜单时直接生成授权code并作为参数跳转到第三方服务地址REDIRECT_URI。可适用于在勤策(原外勤365)APP、WEB或企业微信中配置菜单入口,以及订货365APP、WEB和公众号入口。

请求方式: GET(HTTPS
请求地址: RREDIRECT_URI?code=XXXX&state=STATE&tenant_id=TENANT_ID&app_id=APP_ID

服务端授权成功后跳转地址:

HTTP/1.1 302 Found
Location: REDIRECT_URI?code=XXXX&state=1234&tenant_id=111222333444&app_id=app12344455566

参数说明:

参数 说明
code 用户访问授权码。用户打开菜单时直接生成授权code并作为参数跳转到第三方服务地址REDIRECT_URI,最大为512字节。每次成员授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。
redirect_uri 企业在勤策(原外勤365)配置的重定向URI,代表当授权完成之后,返回的路径
state 由于后续步骤验证时用的随机字符串,最长为64字节
tenant_id 企业在勤策(原外勤365)的租户唯一标识
app_id 应用的唯一标识,用于接口区分不同应用

服务端授权失败后跳转地址:

HTTP/1.1 302 Found
Location: https://cloud.waiqin365.com/oauth2/authorize_error.jsp?error=access_denied&state=1342&app_id=app12344455566

参数说明:

参数 说明
redirect_uri 重定向URI,代表当授权完成之后,返回的路径
error 错误码:
invalid_request-请求错误
unauthorized_client-访问未授权链接
access_denied-服务器拒绝访问
unsupported_response_type-不支持响应类型
invalid_scope-请求授权信息失败
server_error-服务器错误
state 由于后续步骤验证时用的随机字符串,最长为64字节
app_id 应用的唯一标识,用于接口区分不同应用

# 1.1.2 第三方应用APP使用勤策(原外勤365)帐号统一授权登录第三方APP

当第三方APP需要使用勤策(原外勤365)用户授权登录时,由第三方APP直接打开勤策(原外勤365)客户端包名或类名,由勤策(原外勤365)用户登录授权完成后返回授权码参数code到第三方APP。适用于第三方应用APP使用勤策(原外勤365)帐号统一授权登录第三方APP的场景。

avatar

请求方式: 直接打开客户端类名
请求地址: 第三方应用包名或类名
参数说明:

参数 是否必须 说明
code 用户访问授权码。用户打开菜单时直接生成授权code并作为参数跳转到第三方服务地址REDIRECT_URI,最大为512字节。每次成员授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期
state 由于后续步骤验证时用的随机字符串,最长为64字节
expires_in 令牌有效时间,单位秒