我有一个部署在典型的Web服务器IIS 7.5上的提供者托管应用程序(一个普通的asp.net Web表单应用程序)。
在Office 365多租户中从SharePoint站点启动应用程序时,它会在应用程序启动时抛出以下问题。
使用Fiddler捕获详细信息时,在应用启动时找到以下内容
SPAppToken =安培; SPSiteUrl = HTTPS%3A%2F%2Fabc.sharepoint.com%2Fsites%2Fspdev%2Famsdev%2Famitamsdev&安培; SPSiteTitle = amitamsdev&安培; SPSiteLogoUrl =%2Fsites%2Fspdev%2FSiteAssets%2Flogo.gif&安培; SPSiteLanguage =烯美国和放大器; SPSiteCulture = EN-US&放大器; SPRedirectMessage = EndpointAuthorityMatches和放大器; SPCorrelationId = 31477a9c-2902-204a-8393-67eced1a10b8和放大器; SPErrorCorrelationId = 31477a9c-2902-204a-8393-67eced1a10b8和放大器; 的 SPErrorInfo = +的请求+ +的操作需要一个+ + + HTTPS%28SSL%29 +通道。++确保+ +在于所述靶+ + +端点地址+载体+ SSL +和++再次尝试。++目标+端点+地址
SPErrorInfo部分很有趣。我无法确认是否确实需要为https配置远程站点?
其他信息 - 身份提供商是ACS,它是一个低信任度的应用程序。
有人可以建议吗?
此致 Nitin Rastogi
答案 0 :(得分:1)
在生产环境中,您应始终使用HTTPS。如果不这样做,那么您(以及您的组织)面临许多风险。
如果这是您的开发环境,并且您确信这不是问题,您可能需要查看this question on the MSDN forums的已接受答案,其中提到了相同的错误消息。他们绕过HTTPS检查的解决方案:
$c = Get-SPSecurityTokenServiceConfig
$c.AllowMetadataOverHttp = $true
$c.AllowOAuthOverHttp=$true
$c.Update()
答案 1 :(得分:0)
从Visual Studio打包SharePoint App时,必须确保您使用的URL使用HTTPS:
在IIS中,为站点添加HTTPS绑定以实现此目的。在使用新的HTTPS URL打包后,您必须将应用程序重新上载到SharePoint。
更多信息here。