身份验证

优质
小牛编辑
140浏览
2023-12-01

身份验证


PDF版下载

企业应用中的URL链接可以通过OAuth2.0验证接口来获取员工的身份信息。 通过此接口获取员工身份会有一定的时间开销。对于频繁获取员工身份的场景,建议采用如下方案:

  1. 企业应用中的URL链接直接填写企业自己的页面地址;
  2. 员工跳转到企业页面时,企业校验是否有代表员工身份的cookie,此cookie由企业生成;
  3. 如果没有获取到cookie,重定向到OAuth验证链接,获取员工身份后,由企业生成代表员工身份的cookie;
  4. 根据cookie获取员工身份,进入企业开发的页面。

构造授权链接

请求地址https://xpc.im.baidu.com/oauth2/authorize?appid=CORPID&redirect_uri=REDIRECT_URI

参数说明

参数类型参数位置是否必须说明
appidIntegerUrl参数企业CorpID,appid注意大小写
redirect_uriStringUrl参数授权后重定向的回调链接地址,请使用urlencode对链接进行处理,包含http/https前缀。例如http://localhost:8080/index.html

功能说明

授权链接在如流客户端打开后,页面将跳转至 REDIRECT_URI?code=CODE,开发者可根据CODE获得员工的userid,即员工的名称唯一标识。

获取访问用户身份

请求方式:GET(HTTPS)

请求地址https://qy.im.baidu.com/api/user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE&agentid=AGENTID

参数说明

参数类型参数位置是否必须说明
access_tokenStringUrl参数调用接口凭证 参考获取access_token
codeStringUrl参数参考上文,通过授权链接获取到的code,每次成员授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期
agentidIntegerUrl参数企业当前开发的应用ID</br>图片

权限要求

access_token:确保获取的access_token具有对当前应用的管理权限。 即获取access_token的corpsecret参数来此自应用的管理组。

图片

返回结果

{
    "errcode": 0,
    "errmsg": "ok",
    "UserId": "zhoujielun"
}
参数说明
UserId成员UserID

出错返回示例

{
   "errcode": 40029,
   "errmsg": "invalid code"
}

完整步骤示例

  1. 获取某个应用的权限组访问access_token: https://qy.im.baidu.com/api/gettoken?corpid=CORPID&corpsecret=SECRET</br> 获取access_token
  1. 获取code参数:https://xpc.im.baidu.com/oauth2/authorize?appid=CORPID&redirect_uri=http://localhost:8080/index.html</br> 在如流客户端打开链接,code参数在重定向的url参数中。</br> 构造授权链接
  1. 获取userId:https://qy.im.baidu.com/api/user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE&agentid=59</br> 获取访问用户身份