我有一个.NET 4.5.2 WCF服务,我已部署到SharePoint 2013 - 它的工作原理 . 在服务方法中,我需要访问已在ADFS中设置的声明,并将SharePoint应用程序作为依赖方 .

我已经确认ADFS使用Jack Stromberg's excellent post返回了这些声明 .

在我的服务中,方法(下面的代码)返回一个声明(http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name),这是我记录的身份 . 我在ADFS信赖方索赔规则中设置的三项索赔均未通过 .

public List<Claim> GetClaims()
{
    var p = ClaimsPrincipal.Current;
    return p.Claims.ToList<Claim>();
}

我有ADFS跟踪/调试以及SharePoint ULS . 后者在我访问我的服务时显示以下内容 . 我不确定那13个声明是什么,但我在实现中看不到它们(虽然我希望其中3个是我在ADFS中设置的声明)

非OAuth请求 . IsAuthenticated = True,UserIdentityName = 05.t | adfs trusted root |,ClaimsCount = 13

从其他SO问题和关于此事的各种帖子,我没有看到WCF服务与其部署的SharePoint应用程序之间需要任何其他配置 . 但显然我错过了一些东西 .