微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

想要将传入请求更改为身份或openIDConnect

如何解决想要将传入请求更改为身份或openIDConnect

我从Microsoft Docs看,他们在策略中仅提供了这3个基本,证书和MSI。 https://docs.microsoft.com/en-us/azure/api-management/api-management-authentication-policies#AuthenticationPolicies

这是否意味着我无法完成OIDC?

解决方法

最短答案::如果您要更改使用Backend API的API使用方的身份验证,则API管理中不会发生任何变化。

下面将详细解释身份验证策略与API使用者身份验证之间的关系。

基本概念

API管理位于您的API和使用者之间。

从术语角度来看,在这种情况下,您的API称为后端API。前端API是API管理的URL,可以与您的使用者共享。

有关this page for further basic terminology的API管理信息。

我认为,有两个不同的问题:一个关于使用者OAuth身份验证,另一个关于在APIM中需要配置哪种身份验证策略。

消费者身份验证

因此,如果您希望使用JWT身份验证或OAuth身份验证对消费者进行身份验证,则流程很简单。消费者将从身份服务中获取身份验证令牌,然后使用该令牌来调用您的API。

只要您不使用API​​管理策略进行修改,它就可以正常工作。不需要API管理了解权限或有关权限的任何其他详细信息。

APIM身份验证策略

根据您的设计,您可以选择后端API(即您在APIM中托管的API)是否应具有对前端API进行身份验证的逻辑-确保只有已知方在调用您的API。

根据documentation,您可以配置:

  • 基本身份验证策略,并在每次向后端API发送请求时发送用户名和密码
  • 证书身份验证策略,并在每次向后端API发送请求时发送证书指纹。
  • 受管身份以使用Azure AD身份验证。

所有这三个策略仅可帮助您的后端API确保调用者的身份(即本例中的APIM Fronend API)。这与消费者身份验证和OAuth无关。

例如您可以通过以下方式设置API:消费者需要使用Facebook身份验证进行身份验证。此外,您还可以进行证书身份验证,以识别只有有效的APIM实例才能将使用者请求从前端API重定向到后端API。

希望这可以澄清。

,

article说:

如果您的后端API已经通过任何平台的OAuth2.0进行了保护,则API使用者应将Authorization标头传递给API管理。 您无需在API管理中添加任何策略。 标头将由API使用方发送,而API管理部门会将相同的标头发送至后端API。

使用基本身份验证和set header manually

<authentication-basic username="username" password="password" />
<set-header name="Authorization" exists-action="override">
   <value>@("Bearer " + (string)context.Variables["token"])</value>
</set-header>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。