3

我正在尝试将来自 Kentor AuthServices 的示例 MVC 应用程序部署到 Azure 并使用 Okta 作为 IDP。我跳过了一些障碍,但偶然发现了 CryptographicException “数据保护操作不成功”。我不确定如何解决它。

发生这种情况时,浏览器中的 URL 为https://mysite.azurewebsites.net/AuthServices/Acs

任何帮助表示赞赏,谢谢。

下面是我的 web.config 的 kentor 部分。我没有身份服务器,因此删除了所有联合配置..

<kentor.authServices entityId="https://mysite.azurewebsites.net/AuthServices"
               returnUrl="https://mysite.azurewebsites.net/"
               authenticateRequestSigningBehavior="Never">
<identityProviders>
  <add entityId="http://www.okta.com/1111111"
       allowUnsolicitedAuthnResponse="true" binding="HttpRedirect" 
       metadataLocation="https://dev-11111.oktapreview.com/app/1111111/sso/saml/metadata"
       loadMetadata="true">
    <signingCertificate fileName="~/App_Data/okta.cert" />
  </add>
</identityProviders>

让我知道我是否可以提供任何进一步的信息来帮助您帮助我!

4

2 回答 2

2

正如 Anders 所指出的,这实际上是一个 Azure 问题。解决方法是将以下内容添加到 web.config:

<system.identityModel>
    <identityConfiguration>
      <securityTokenHandlers>
        <add type="System.IdentityModel.Services.Tokens.MachineKeySessionSecurityTokenHandler, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
        <remove type="System.IdentityModel.Tokens.SessionSecurityTokenHandler, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      </securityTokenHandlers>
    </identityConfiguration>
  </system.identityModel>
于 2016-03-20T22:39:48.107 回答
1

看起来像 Kentor.AuthServices 中的错误。我最近做了一些使用数据保护 API 的重写,所以那里可能有问题。请在github 站点提交问题,并包含异常的堆栈跟踪以及有关您正在使用的 API 模块(MVC、HttpModule 或 OWIN)的信息。

于 2016-03-20T08:56:40.593 回答