【发布时间】:2014-07-22 02:43:20
【问题描述】:
我尝试访问我的 STS 以请求令牌。该代码基于@leastprivilege 的博客文章:WCF and Identity in .NET 4.5: External Authentication with WS-Trust。我使用显式方法(通过代码)。
private static SecurityToken RequestSecurityToken()
{
// set up the ws-trust channel factory
var factory = new WSTrustChannelFactory(
new UserNameWSTrustBinding(
SecurityMode.TransportWithMessageCredential),
"https://federation.mydomain/adfs/services/trust/mex") { TrustVersion = TrustVersion.WSTrust13 };
//factory.Credentials.SupportInteractive = false;
factory.Credentials.UserName.UserName = "user-pcote";
factory.Credentials.UserName.Password = "123456";
// create token request
var rst = new RequestSecurityToken
{
RequestType = RequestTypes.Issue,
KeyType = KeyTypes.Symmetric,
AppliesTo = new EndpointReference("https://myRP/")
};
var channel = factory.CreateChannel();
return channel.Issue(rst);
}
在浏览器中复制 STS 端点地址时可以看到 XML,因此可以访问联合服务器。但是一旦我发出令牌请求,我总是会收到内部服务器错误(500)。有没有人知道我的问题可能在这里。
【问题讨论】: