Azure API管理-与底层服务同步身份验证和授权



我是Azure API管理的新手,很高兴收到关于我实施的建议和建议。

我正在为第三方开发一个B2B Api通道,通过Api管理(APIM)网关调用我的服务。在APIM开发人员门户上,我可以装载新客户机并生成API密钥。我的难题是如何最好地找出底层服务是谁在调用?我考虑过将在APIM中生成的API密钥添加到数据库中,底层服务将调用该数据库进行身份验证,然而,实现将是手动的,并且当第三方客户端转到APIM并重新生成新的API密钥时将不同步。

我想要的是一个在APIM和底层服务之间自动同步授权和身份验证的解决方案。

由于API密钥可以替换,因此您最好依赖id来识别客户端。

你可以在报头中传递客户端ID到后端:https://stackoverflow.com/a/42277313/2579733

现在如何将APIM的客户端id与后端客户端id关联起来?

如果只有几个客户端,您可以手动更新后端数据库中的关联。如果您可以使用客户端的电子邮件连接APIM客户端和后端客户端,那就更容易了(您完成了)。

如果您需要注册许多客户端,而手动方法是不可行的…一种方法是委托身份验证:

委派允许您使用现有的网站来处理开发人员登录/注册和订阅产品,而不是使用开发人员门户中的内置功能。它使您的网站能够拥有用户数据,并以自定义的方式执行这些步骤的验证。

我从未使用过它,但似乎你可以将创建新客户端的责任转移到后端服务(由你开发)。

通过这种方式,您可以访问客户端电子邮件,生成ID,并可以在必要时将ID关系存储在后端。

相关内容

  • 没有找到相关文章

最新更新