Rest 服务器到服务器API身份验证+;授权

Rest 服务器到服务器API身份验证+;授权,rest,authentication,basic-authentication,bearer-token,server-to-server,Rest,Authentication,Basic Authentication,Bearer Token,Server To Server,我正在设计一个由外部Web服务器使用的Web API 只有外部web服务器才能访问内部API 最终用户将根据外部web服务器进行身份验证,但在请求数据时,用户名必须转发到内部API,因为存在基于用户名的一些数据过滤 内部web api服务器中应该使用什么身份验证机制 我从X-API-Key头开始,但是我应该如何提供用户名呢?我希望避免在QueryString中传递用户名 我在考虑基本身份验证,其中密码将是X-API-Key 理论上,承载令牌也可以工作,但承载令牌通常由授权服务器生成,在这种

我正在设计一个由外部Web服务器使用的Web API

只有外部web服务器才能访问内部API

最终用户将根据外部web服务器进行身份验证,但在请求数据时,用户名必须转发到内部API,因为存在基于用户名的一些数据过滤

内部web api服务器中应该使用什么身份验证机制

  • 我从
    X-API-Key
    头开始,但是我应该如何提供用户名呢?我希望避免在QueryString中传递用户名

  • 我在考虑基本身份验证,其中密码将是X-API-Key

  • 理论上,承载令牌也可以工作,但承载令牌通常由授权服务器生成,在这种情况下,这不是一个选项

  • 编辑:
    请注意,最终用户不进行任何API调用。它只需使用一些CMS访问网站构建,CMS在内部获取数据并生成HTML响应。

    除了“web服务器无法生成JWT令牌”之外,您还有什么其他限制?因为您也可以使用例如(aka“透明令牌”)来代替API密钥(aka“不透明令牌”)。因此,最终用户使用JWT进行身份验证,JWT包含用户名(除其他外)。最终用户不进行任何API调用。对于外部web如何验证最终用户,我没有控制权,也不应该有控制权。这是服务器到服务器的通信。不应涉及最终用户身份验证。我只需要知道API应该为谁返回数据的用户名。