环境 :
-
wso2 API-M wso2身份服务器(密钥管理器)和他们共享同一个用户存储 .
在carbon.super租户中有 -
2个服务提供商(发布商和商店)和2个身份提供商(Google和Facebook) .
-
启用了SSO服务,发行人ID如上所示 .
-
启用OAuth2.0用户(Google和Facebook)登录 .
-
3个环境中的租户(carbon.super,TA和TB) .
我尝试了什么:
-
社交帐户可以登录发布商和商店,他们将被定向到carbon.super发布商 .
-
TA用户无法在未启用发布者SP SaaS的情况下登录发布者 . (服务提供商租户域必须等于非SaaS应用程序的用户租户域)
-
TA和TB用户可以在启用了发布者SP SaaS的情况下登录发布者,但他们将被重定向到carbon.super租户 .
-
TA / TB用户可以在尝试发送tenantDomain =时浏览他们自己的租户发布者,但是当用户将API部署到发布者时,它将被重定向到carbon.super发布者并在carbon.super发布者上部署API . (API将发布在carbon.super商店 . )
我想要的是 :
- 租户用户可以登录到正确的租户发布者并使用SSO在其上部署API . (社交帐户登录carbon.super租户很好 . )
谢谢
汤姆
1 回答
如果您愿意使用其他安全机制,则需要编写CXF处理程序并将其插入Web应用程序 . 始终建议在此API中使用一个或多个安全机制,因为用户可以使用这些API执行几乎所有关键操作 .
您可以通过编辑WEB-INF / beans.xml文件来更改CXF拦截器 . 您可以看到安全拦截器的以下条目 .
默认情况下,API Manager REST API使用OAuth 2.0,不要对REST API使用基于SSO的身份验证 . 但是,如果您需要进行基于断言的验证,请使用API访问,然后您可以使用上面提到的CXF拦截器执行此操作 .
谢谢,
sanjeewa .