2015-09-24 35 views
2

是否有可能隱藏租戶商店,因此它們在公共商店中不可見,但只能通過其直接租戶特定的商店網址(如:https://api.mydomain.com/store/?tenant=mycustomer.com)?WSO2 API管理器 - 我可以在公共商店中隱藏租戶商店嗎?

背景信息: 我們所有的客戶都在WSO2 API Manager中獲得自己的租戶。當匿名/未經身份驗證的訪問者打開公共存儲(https://api.mydomain.com/store)時,他/她將看到所有租戶商店及其域名。所以我們不難發現所有客戶的名字。這是不可取的。我知道公共商店應該推廣公共API,但我們不提供公共API(還)。

回答

0

是的,這是可能的。首先,你必須配置API經理單點登錄與SAML2請參閱此爲更多細節Single Sign-on with SAML2

現在你要做的就越來越登錄彈出,當我們訪問存儲一些修改,如下所述。我們可以使用子主題來實現這種定製。請按照以下說明嘗試商店的登錄彈出窗口,但是一旦您登錄後,這會將您帶到租戶列表頁面。

1)如果您已經有了子主題,那麼您可以使用否則您可以在目錄AM_HOME/repository/deployment/server/jaggeryapps/store/site/themes/fancy/subthemes目錄下創建子主題。

2)將AM_HOME/repository/deployment/server/jaggeryapps/store/site/themes/fancy/templates/menu/primary/template.jag中的template.jag複製到AM_HOME/repository/deployment/server/jaggeryapps/store/site/themes/fancy/subthemes // templates/menu/primary/template.jag(請注意在此期間您可能需要按照目標路徑中所述創建子目錄)。然後請複製下面的代碼

3)將下面給出的代碼塊複製到我們在步驟2中創建的template.jag頁面的頂部。

<% 
include("/jagg/jagg.jag"); 
var user = jagg.getUser(); 
var mod,httpUrl,httpsUrl; 
mod = jagg.module("manager"); 
httpsUrl= mod.getHTTPsURL(); 
var httpsURL = httpsUrl + request.getRequestURI(); 

if(request.getQueryString()) 
{ httpsURL += "?" + request.getQueryString(); } 

if(!user) 
{ session.put("showLogin","true"); } 

%> 

4)轉到AM_HOME /庫/部署/服務器/ jaggeryapps /存儲/網站/ conf目錄/文件site.json,然後添加次主題如下圖所示。

"theme" : 
{ "base" : "fancy", "subtheme" : "<name_of_the_theme>" } 

現在啓動服務器,並https://localhost:9443/store,那麼你將與登錄彈出來PROMT。