2017-04-24 26 views
0

Sitecore.Services.Client.config有一個設置可以在Sitecore 8.2中啓用新的基於令牌的授權。無法爲Sitecore.Services.Client配置SigningProvider

enter image description here

我不知所措但是我爲:將其設置爲「真」嘗試連接到的WebAPI(或ItemService我的任何自定義操作)的任何電話時,但給我的郵差以下錯誤到這個配置:

enter image description here

我查了Sitecore.Services.Infrastructure.Configuration.ServicesConfiguration對象本身,但它似乎並不需要配置這樣的地方:

enter image description here

從配置刪除TokenDelegatingHandler似乎再次使API工作,但調用Sitecore的/ API/SSC /認證/註冊拋出500內部服務器錯誤。

More info about this feature at the CoreBlimey Sitecore blog

回答

0

您是否嘗試過此處的步驟:

http://www.coreblimeysitecore.com/blog/token-based-authentication-with-sitecore-services-client/

這似乎表明,你需要添加一個標籤爲令牌提供商:

<tokenSecurity> 
    <signingProvider type="Sitecore.Services.Infrastructure.Sitecore.Security.SymetricKeySigningProvider, Sitecore.Services.Infrastructure.Sitecore"> 
      <param desc="connectionStringName">Sitecore.Services.Token.SecurityKey</param> 
    </signingProvider> 
</tokenSecurity> 

我會親自建議在修補程序配置文件中執行此操作,但不要在OOTB Sitecore配置文件中執行此操作。

+0

你試過嗎?它不起作用。我已經在我的原始問題中鏈接到那篇文章。 –

0

用於加載簽名提供程序的代碼位於:Sitecore.Services.Infrastructure.Sitecore.dll中,因此不會是該類的屬性。

namespace Sitecore.Services.Infrastructure.Sitecore.Security 
    { 
    public class ConfigurationSigningProviderFactory : ISigningProviderFactory 
    { 
     public ISigningProvider Create() 
     { 
     XmlNode configNode = 
     Factory.GetConfigNode("/sitecore/api/tokenSecurity/signingProvider"); 
     if (configNode != null) 
      return Factory.CreateObject<ISigningProvider>(configNode); 
      return (ISigningProvider) null; 
     } 
    } 
} 

UPDATE:簽約供應商應放置在一個補丁文件,像這樣:

<configuration> 
    <sitecore> 
     <api> 
     <tokenSecurity> 
      <signingProvider type="sitecore.services.infrastructure.sitecore.security.symetrickeysigningprovider, sitecore.services.infrastructure.sitecore"> 
       <param desc="connectionstringname">sitecore.services.token.securitykey</param> 
      </signingProvider> 
     </tokenSecurity> 
     <api> 
    </sitecore> 
</configuration> 
+0

它不起作用,這就是爲什麼我問這個問題。正如我在我的文章中所暗示的,tokenSecurity不是ServicesConfiguration的一個屬性。 –

+0

您使用更新1,2或3的8.2版本是什麼?我已經在1和2測試過了。 –