Sample API:
/product/list
/product/save
/product/update
/product/delete
假设/product
是具有筛选器的基本路径,用于在处理请求之前验证身份验证。
目前,已实现 OAuth 身份验证,因此在验证访问令牌后处理所有请求。我们得到了仅提供一个上下文的用例,即在OAuth身份验证模式和BASIC身份验证模式下/product/list
。但似乎为同一上下文混合多个身份验证不是一种正确的方法,因此期望在这种情况下遵循的最佳实践是什么
一个好的目标是在 API 中使用统一方法,该方法始终接收 OAuth 2.0 访问令牌:
- API 的 UI 客户端通过授权代码流 (PKCE( 获取访问令牌
- 其他客户端(如后端进程(通过客户端凭据流获取令牌
我会让任何使用基本OAuth的客户端更新到客户端凭据,这几乎是相同的,需要来电显示和来电密码。
这两种类型的客户端都能够调用列表终结点,在这两种情况下,API 都需要验证访问令牌,根据需要标识调用方,然后可能筛选允许调用方获取的项目。