我有AD FS服务器,控制台应用程序和简单的网站,我可以使用我的域帐户登录。 在我的控制台应用程序中,我从STS获得令牌。现在,我想和他一起登录网站(我想要检查令牌)。
我应该如何在WebClient,WebApiClient和WCF中使用此令牌? 我在WCF中尝试使用此令牌和下载页面使用WebClient进行打开通道,但我得到了日志页面。
这个令牌在2个星期内很重要,我怎么能早点取消这个令牌呢?
这是获取令牌(工作)的代码:
string userName = "login";
string password = "pass";
string adfsAdr = @"https://domain/adfs/services/trust/13/usernamemixed";
string webPage = @"https://MyAspNetAppAdrs.com";
var factory = new Microsoft.IdentityModel.Protocols.WSTrust.WSTrustChannelFactory(
new UserNameWSTrustBinding(SecurityMode.TransportWithMessageCredential),
new EndpointAddress(adfsAdr));
factory.TrustVersion = TrustVersion.WSTrust13;
if (_factory.Credentials != null)
{
factory.Credentials.UserName.UserName = userName;
factory.Credentials.UserName.Password = password;
}
var rst = new RequestSecurityToken
{
RequestType = WSTrust13Constants.RequestTypes.Issue,
AppliesTo = new EndpointAddress(webPage),
KeyType = WSTrust13Constants.KeyTypes.Bearer,
};
var channel = factory.CreateChannel();
SecurityToken token = channel.Issue(rst);