我有一个使用基本身份验证来验证和授权服务调用的应用程序。我在单独的服务器上设置我们的 WSO2 API 管理器,但不确定如何将 API 管理器中的 base64 加密传递到我的应用程序以授权某些服务调用。
此信息在文档中不容易获得,因此我不确定它是否受支持。
有没有人使用过这个或知道如何实现这个?
如果您想提供自己的身份验证机制,您可以通过org.wso2.carbon.apimgt.gateway.handlers.security.Authenticator
在身份验证处理程序链中实现并设置它来非常轻松地做到这一点。
你可以参考org.wso2.carbon.apimgt.gateway.handlers.security.oauth.OAuthAuthenticator
参考。
您可以在发布者创建 API 时提供凭据。您可以查看有关添加 API 的 WSO2 文档。在“端点类型”的发布者处,您必须选择Secured
然后需要提供username/password
.
在 API Manager 中通过 进行身份验证APIAuthenticationHandler
,这是在 API 序列定义 (/repository/deployment/server/synapse-configs/default/api) 中定义的处理程序之一。要禁用该特定 API 的身份验证(因为 API Manager 自己处理基本身份验证),只需删除或注释掉处理程序。然后,用户应该提供后端服务所需的基本身份验证,而不是 API Manager 令牌,因为他们将不再需要它。