2016-04-11 47 views
1

如何將一個身份服務器(比如idsvr1)作爲客戶端添加到另一個身份服務器(比如idsvr2)?它是否像下面那樣? (假設我下面示出的代碼是從idsvr2)將一個身份服務器添加爲另一個身份服務器的clinet

new Client 
       { 
        ClientName = "idsvr1", 
        Enabled = true, 
        ClientId = "customclient", 
        ClientSecrets = new List<Secret> 
        { 
         new Secret("secret".Sha256()) 
        }, 

        Flow = Flows.Custom, 

        AllowedScopes = new List<string> 
        { 
         "read" 

        }, 

        AllowedCustomGrantTypes = new List<string> 
        { 
         "custom" 
        } 
       }, 

當請求到達IdentityServer1具有特殊有效載荷,我想重定向該呼叫到IdentityServer2。在IdentityServer1中插入此重定向代碼的位置?

回答

0

沒錯,您可以在idsvr2中爲idsvr1配置客戶端條目。

然後,您需要將idsvr2配置爲idsvr1中的外部身份提供程序,這與您使用其他任何方式(例如Google或Facebook)的方式相同。這將使用中間件OpenIdConnectAuthentication

有關向Identity Server添加外部身份提供程序的詳細信息,請參閱the docs

+0

如果我將idsvr1配置爲idsvr2中的客戶端,需要使用什麼流程?我的用例是創建聯合身份服務器。比如說,我有2個安全區域:Zone1和Zone2。每個區域都有自己的標識服務器。如果來自Zone2的用戶試圖訪問Zone1中的應用程序,則Zone1 Identity Server應將用戶重定向到Zone2 Identity Server以獲取Zone2標記(與ADFS聯合身份驗證類似)。 –