Я разработал тестовое приложение, в которое я добавил файл .asmx для аутентификации ADFS, после аутентификации он будет перенаправлен на мое исходное, уже разработанное веб-приложение. общий код показан ниже
var stsEndpoint = ConfigurationManager.AppSettings["EndPoint"];
var relayPartyUri = ConfigurationManager.AppSettings["RelayPartyUri"];
EndpointAddress epoint = new EndpointAddress(stsEndpoint);
using (var factory = new WSTrustChannelFactory(new UserNameWSTrustBinding(SecurityMode.TransportWithMessageCredential), epoint) { TrustVersion = TrustVersion.WSTrust13 })
{
if (factory.Credentials != null)
{
factory.Credentials.UserName.UserName = @"Domain\" + userName;
factory.Credentials.UserName.Password = password;
}
var rst = new RequestSecurityToken
{
RequestType = WSTrust13Constants.RequestTypes.Issue,
AppliesTo = new EndpointReference(relayPartyUri),
KeyType = WSTrust13Constants.KeyTypes.Bearer
};
var channel = factory.CreateChannel();
var token = channel.Issue(rst);
var genericToken = token as GenericXmlSecurityToken;
...
}
...
Строка var token = channel.Issue(rst); выдает ошибку
Error is ID3082: The request scope is not valid or is unsupported
Кроме того, я не уверен, какой URI следует использовать для RelyingPartyURI.
- URL-адрес службы, который я использую для аутентификации ADFS. или
- URL моего уже разработанного веб-приложения
Пожалуйста помоги.