# 基本概念

本文档介绍了BossHi客户端网页(Web)应用的开发流程及注意事项。

# 相关概念

【鉴权】如果你需要调用开放平台客户端 API(JSAPI),为了数据安全,BossHi需要先验证网页应用有权限访问的 JSAPI 范围,此过程称为鉴权。

【免登】免登是指BossHi用户在客户端内进入网页应用后,无需输入BossHi用户名和密码,网页应用便可自动获取当前用户身份,进而登录系统的流程。

【JSSDK】 BossHi客户端 JSSDK 是BossHi面向客户端网页开发者(接入方)提供的网页开发工具包,仅可用在BossHi客户端内。

【access_token】access_token 是带有授权的BossHi开放平台访问凭证,其中访问凭证代表应用从平台、租户(指公司或者团队)、用户手中获得的授权。若要调用BossHi服务端 API,网页应用需要从BossHi开放平台获取相应的访问凭证( access token)。开放平台提供了 3 种不同类型的访问凭证,分别为应用授权凭证 app_access_token、租户授权凭证 tenant_access_token、用户授权凭证 user_access_token,用于验证调用方身份、确保调用方具有执行操作所需要的权限,详见BossHi服务端 API 访问凭证概述与步骤二-流程 2.1。

【jsapi_ticket】jsapi_ticket 代表网页应用调用BossHi JSAPI 的临时凭证,是实现鉴权校验的重要数据,鉴权的关键点其实就是比对接入方服务端依据 jsapi_ticket 等数据生成的签名与认证中心依据 jsapi_ticket 等数据生成的签名,若两个签名相等即为鉴权成功。jsapi_ticket 可利用 access_token 请求获取,详见步骤二-流程 2.2。

【签名】签名是用于 JSSDK 权限验证的一段密文。为了防止数据泄露,会对 jsapi_ticket、网页 URL 等参数拼接成字符串 verifyStr ,并用 sha1 数据加密算法对 verifyStr 进行加密,得到的密文就是签名 signature,详见步骤二-流程 2.3。

【URL】URL 的标准格式如下:[传送协议 Schema]: //[域名 Domain]:[端口号 Port]/[路径 Path][文件名]?[查询 query]#[片段 ID],其中[端口号]、[查询]、[片段 ID]都属于选填项。以下图为例: URL图

  • https 是协议;
  • www.example.com 是域名,表明正在请求哪个 Web 服务器,也可以直接使用 IP 地址;
  • :443 是端口,如果 Web 服务器使用 HTTP 协议的标准端口(HTTP 为 80,HTTPS 为 443)来授予其资源的访问权限,则通常会被忽略,否则是强制性的;
  • /path/to/myfile.html 是网络服务器上资源的路径;
  • ?key1=value1&key2=value2 是提供给网络服务器的额外参数;
  • #SomewhereInTheDocument 打开页面时滚动到该锚点位置。

# 简介

  • 接入网页(Web)应用的必须步骤为步骤一和步骤四。

  • 如果你的网页(Web)应用前端需要调用开放平台客户端 API(JSAPI)获取数据,请参考本文档步骤二进行配置与开发。

  • 如果你的网页(Web)应用需要获取客户端已登录用户的信息,尤其是辨认用户身份(获取用户唯一标识符),请务必参考本文档步骤三实现免登。

# 角色介绍

# 接入方相关

【接入方前端】需要接入BossHi的网页(Web)应用中负责与用户交互的部分,通常用浏览器支持的语言(例如 JavaScript 和 HTML)编写。

【接入方服务端】需要接入BossHi的网页(Web)应用中负责存储数据资源、处理业务逻辑、响应前端请求的部分。

【开发者后台】对于想要为自己的企业开发自建应用,或者上架应用至BossHi应用目录的BossHi用户,BossHi开放平台提供的应用创建与配置后台。可以通过网址 开发者后台 (opens new window) 访问。

# BossHi相关

【BossHi客户端】BossHi侧承载网页(Web)应用的客户端。它能支持你的网页(Web)应用调用手机系统功能和BossHi客户端功能(如扫一扫、云文档),并且支持性能优化,使你的网页(Web)应用体验能够接近原生体验。

【认证中心】BossHi侧负责认证网页(Web)应用身份和权限的服务端。

# 接入流程

步骤一:创建企业自建应用

步骤二:JSAPI 调用(可选)

步骤三:免登流程(可选)

步骤四:应用发布与使用

最后更新于 : 7/11/2023, 2:17:18 PM