oauth2.0 WSO 2 Identity Server和API Manager -标头中的多个访问令牌

5anewei6  于 2023-05-16  发布在  其他
关注(0)|答案(1)|浏览(198)

在我的应用程序中,我使用了WSO 2 Identity Server。我已经实现了一些用于用户管理的API,调用WSO 2 SCIM API:https://is.docs.wso2.com/en/6.0.0/apis/scim2-rest-apis/
用户使用wso 2身份服务器的登录页面登录我的应用程序,并获得一个访问令牌。要调用WSO 2SCIMAPI,我必须在请求头中发送这个访问令牌。一切正常。
现在我正在尝试使用WSO 2 API Manager。我已经将我的应用程序订阅到devportal中的API,并获得了另一个访问令牌。
我的问题是,从前端来看,当用户单击按钮添加新用户时,发送调用API所需的两个访问令牌的最佳实践是什么?我需要从api管理器调用API,而实际上需要从wso 2 scim api调用?
我通过给头文件起两个不同的名字来解决这个问题,一个是“Authorization”,另一个是“Auth-apim”,但我认为这不是正确的解决方案。

ryoqjall

ryoqjall1#

你可以做的一个选择是将WSO2身份服务器注册为API管理器的外部密钥管理器[1]。由于可以使用oauth2令牌调用IS API(参考[2]),因此您可以使用提供带外OAuth密钥功能(参考[3])将相同的OAuth应用程序导入到APIM,并使用相同的令牌调用APIM API。您可以使用将OAuth密钥导入到APIM。请注意,默认情况下,当请求被分派到后端时,传入的Authorization头将被丢弃。您可以使用此配置禁用它[4]
[1][https://apim.docs.wso2.com/en/latest/administer/key-managers/configure-wso2is-connector/](https://apim.docs.wso2.com/en/latest/administer/key-managers/configure-wso2is-connector/)
[2] https://is.docs.wso2.com/en/6.0.0/apis/overview/#oauth-based-authentication
[3] https://apim.docs.wso2.com/en/latest/design/api-security/oauth2/provisioning-out-of-band-oauth-clients/#step-3-provision-the-out-of-band-oauth2-client
[4] https://apim.docs.wso2.com/en/latest/reference/faq/#how-can-i-add-authentication-headers-to-messages-going-out-of-the-api-gateway-to-the-backend

相关问题