我是WSO2的新手,并且有关于安全性和多租户的这些问题。
安全 我喜欢使用客户端凭据grant来生成访问令牌以访问API管理器管理的资源。我看到访问令牌由API管理器验证并传递给后端资源(我的应用程序代码)。我想确保从API管理器到后端的调用。除了使用SSL之外,我该怎么做?我可以依赖相同的访问令牌来满足我的资源安全需求吗?如果是这样,我如何在我的应用程序代码中验证访问令牌?我看到一些链接指的是使用WSO2身份服务器进行验证,但我想将我的WSO2脚印仅限于API管理器。
多租户 我的应用程序代码需要支持多租户,它需要租户ID来识别租户,以隔离可用的功能和数据访问。在发布/订阅阶段,客户端ID和密钥生成期间是否可以设置此租户ID?当API Manager将此客户端ID的调用转发到后端时,API Manager是否可以自动在HTTP标头中注入/设置此租户ID?
我可以很好地使用客户端ID本身作为租户ID,但是此客户端ID由WSO2管理,我无法控制其生成。此外,每个订阅/应用程序只有一个客户端ID。
答案 0 :(得分:0)
安全性:您可以为API的端点设置安全方案,该端点是您的后端服务。 APIM支持端点Basic auth和Digest auth。
多租户:您可以发布适用于所有租户的API。步骤是,
Visibility=public
。Subscriptions=Available to all the tenants
。 然后,任何租户开发人员都可以使用其特定于租户的应用程序订阅您的API。然后,您可以使用client key
或tenant domain
来识别后端的租户。请参阅以下博客文章,了解如何将这些值发送到后端。
http://movingaheadblog.blogspot.com/2016/08/wso2-api-manager-how-to-retrieve.html