Github 有一个处于测试阶段的新功能,称为 细粒度个人访问令牌,允许生成用于限制访问的 API 令牌。生成这样的密钥的方法是什么? (假设您必须为自己的应用程序实现它)。
当您生成新的细粒度令牌时,github 是否会生成具有您选择的范围及其有效日期的 JWT?我们获得的最终访问令牌不是编码的 Base64 jwt。看起来像
github_pat_<randomString>
。该令牌是否分配给授权后端中的 jwt?让这样的事情发挥作用的好方法是什么?
非常感谢。
向互联网客户端颁发不透明的访问令牌是保护隐私的最佳实践。访问令牌用于发送到 API(资源服务器),互联网客户端不应该读取。
在 OAuth 2.0 中,API 所有者使用授权服务器 (AS) 向每个客户端颁发具有最低权限的访问令牌。 AS 允许发布范围(高级权限)和声明(细粒度权限)来访问令牌,以锁定它们。
AS 还应该配置为颁发不透明的访问令牌。然后 AS 存储不透明值的哈希值以及令牌数据。
不透明访问令牌通过“内省”来获取令牌数据。这涉及到将不透明令牌发送到 AS 的内省端点并接收回令牌数据。 内省通常在放置在 API 前面的 API 网关中完成。然后,网关使用相同的访问令牌缓存结果以供将来请求。然后,范围和声明被转发到目标 API,目标 API 使用它们来应用其业务授权。