我为第三方应用(客户)提供了一组公共Web API供您使用。我想跟踪这些客户端如何使用我的API,因此我需要为这些客户端生成令牌。同时,我需要对真实用户进行身份验证,不同的用户可以看到相同资源的不同表示。我知道OAuth2可以解决我的问题,但它很复杂。我更喜欢对用户和应用程序使用HTTPs +基本身份验证,因此我将在HTTP标头中为客户端和真实用户使用不同的属性。这是合适的方式吗?
答案 0 :(得分:0)
一般来说,基本身份验证不能完成这项工作,因为它需要所有请求的凭据(用户名/密码),这不是您想要的。
首先让我们分析您的要求:
因此,我们可以总结理想的工作流程:
基于上述工作流程,最终用户只输入1次用户名/密码,因此基本身份验证不符合您的要求。
实际上,您的要求是基于令牌的身份验证(确保您需要令牌过期机制):第三方仅获取最终用户的授权令牌而非凭据。
为此,在没有OAuth的情况下,您需要实现令牌生成,验证和到期机制。
当然,您可以将这些令牌放在HTTP标头或URL中,这取决于您的偏好或设计理念。
希望这有帮助!