API令牌

API令牌(token)允许第三方软件以学校的名义调用Omniscol的API接口:可读取数据;若选择了写入类API接口,也可写入数据。

它的权限很大,因此请谨慎使用。

生成

令牌在分享中生成(导入/导出 > 分享)。您需要提供:

  • 一把密钥(在Omniscol中生成,带有名称和可选的有效期;有效期日后可以修改),
  • 一个范围:该令牌可以调用的API接口列表(只授予确实需要的接口),
  • 可选的令牌有效期。该日期写入生成的JWT,之后无法修改。

删除密钥或密钥到期,会立即撤销由它派生的所有令牌。若要更改某个令牌的有效期,请重新生成一个JWT。

使用

令牌通过HTTP请求头Authorization: Bearer <token>传递,也可以通过URL中的?auth=<token>传递(生产环境不推荐)。

最佳实践

  • 一个集成一把密钥——便于单独撤销。
  • 最小范围——只勾选必需的API,不要默认全选。
  • 在合适的层级设置有效期——长期运行的集成用密钥的有效期来管理;需要不可更改的临时访问时,使用令牌的有效期。
  • 定期轮换——每6至12个月重新生成一次密钥。
  • 不要放进Git——令牌不应被纳入公开代码仓库的版本管理。请使用服务器的环境变量。

与OIDC / SSO的区别

若要让真实用户使用所在机构的身份登录,请使用OIDC / SSO。API令牌用于服务器之间的技术集成,不用于用户的日常登录。

另请参阅