我在Azure上有一个API管理资源,它使用一个作为Kubernetes集群运行的API。 我想对连接到API管理URL的客户端/应用程序进行OAuth2.0身份验证。我不想要任何用户身份验证,但只希望想要使用URL的客户端发送客户端ID和客户端密钥。
我该怎么做? 我在文档中找不到与此相关的任何内容。
答案 0 :(得分:2)
如果您不希望涉及用户上下文,则必须从Oauth2.0准备使用客户端ID和客户端机密的客户端凭证流。
我正在解释使用Azure AD。
1)在Azure AD中创建应用程序并获取客户端ID和密码 (https://www.netiq.com/communities/cool-solutions/creating-application-client-id-client-secret-microsoft-azure-new-portal/)
2)调用Azure AD的令牌端点以获取安全令牌 (https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-protocols-oauth-service-to-service)
3)使用授权或从任何标头将此令牌传递给APIM
4)验证JWT并检查颁发者,受众和应用程序级别范围 (https://docs.microsoft.com/en-us/azure/api-management/api-management-access-restriction-policies#ValidateJWT)
答案 1 :(得分:0)
不确定你究竟在问什么!
但是这里有两个地方,你将找到问题的解决方案:
Validate JWT
(https://docs.microsoft.com/en-us/azure/api-management/api-management-access-restriction-policies#ValidateJWT)