Azure Functions代理身份验证

时间:2018-07-25 11:04:51

标签: c# authentication azure-functions

我需要创建一个在两个API之间充当Azure功能的代理。让我们画一个小图:

[API A /客户端] <----> [代理] <----> [API B /后端]

后端API具有自定义身份验证方案-为了获得使用所有端点的授权,我们需要首先获取会话令牌。然后我们将其作为Authenticate标头-这样,对其他后端端点的调用将不会导致某种401或类似结果。

尚未定义客户的视图n身份验证(这意味着我们尚未到达其技术团队),因此很难承担任何责任,但可以说它可以处理告诉我们的一切。

如何为我们的代理实施这种身份验证方案?我在考虑以下方法:

  • 客户端匿名调用代理的方法GetSessionToken
  • 代理匿名调用后端的方法GetSessionToken,后端在响应正文中使用会话令牌进行响应
  • 代理会创建一个jwt令牌来保留会话令牌,代理会将此令牌作为Authentication / Bearer标头附加到客户端

几天前,我刚刚开始使用Azure Functions,虽然我知道如何将其作为普通的.net核心应用程序实现,但我不知道如何在不那么复杂的Azure Functions中实现它。

丹尼尔

1 个答案:

答案 0 :(得分:0)

代理当前不支持从响应正文中提取一些值并将其添加到响应标头中。您可能需要在功能代码中执行此操作,或使用Azure API管理。