0

我创建了一个 SharePoint 提供程序托管应用程序,当我发布并添加到网站时它运行良好。我创建了一个 CName 并使用 appregnew 页面注册,部署了云服务项目,安装并添加了应用程序。我在我有身份验证的页面上遇到了同样的错误 [SharePointContextFilter]。没有身份验证的页面 [SharePointContextFilter] 工作正常。

下面是详细的错误:

发生了错误。令牌请求失败。内部:System.Net.WebException:远程服务器返回错误:(400)错误请求。在 System.Net.HttpWebRequest.GetResponse() 在 Microsoft.IdentityModel.S2S.Protocols.OAuth2.OAuth2WebRequest.GetResponse() 在 Microsoft.IdentityModel.S2S.Protocols.OAuth2.OAuth2S2SClient.Issue(String securityTokenServiceUrl, OAuth2AccessTokenRequest oauth2Request) Stacktace: 在Microsoft.IdentityModel.S2S.Protocols.OAuth2.OAuth2S2SClient.Issue(String securityTokenServiceUrl, OAuth2AccessTokenRequest oauth2Request) 在 PasswordResetAppWeb.TokenHelper.GetAccessToken(String refreshToken, String targetPrincipalName, String targetHost, String targetRealm) 在 PasswordResetAppWeb.SharePointAcsContext.RenewAccessTokenIfNeeded(Tuple2& accessToken, Func1 tokenRenewalHandler) 在 PasswordResetAppWeb.SharePointAcsContext.GetAccessTokenString(Tuple 2& accessToken, Func1 tokenRenewalHandler) 在 PasswordResetAppWeb.Controllers.PasswordProfilesController.Index() Stacktace:Microsoft.IdentityModel.Extensions

知道我做错了什么吗?

我使用 Cname URL 来使用 appregnew.aspx 注册应用程序,并且在打包应用程序时也使用了 Cname URL。我在这里做错了什么?

任何建议都会很棒..提前谢谢!!

4

1 回答 1

2

我得到了它。我没有将客户端密钥 ID 正确复制到 web.config。它里面有一个空间,这导致了这个问题。

因此,将别名添加到托管在云服务中的共享点应用程序的步骤是正确的:

使用新的 CName 注册应用程序,更改 webconfig 中的 clientID、Client Secret 并部署,使用 Cname 和 clientID 打包应用程序并安装和添加应用程序。确保正确复制您的客户端 ID 和客户端密码。

于 2014-10-06T16:14:34.543 回答