Чтобы ответить на ваш первый вопрос:
Если вы не используете Azure, вам не нужно беспокоиться об AAD.На самом деле вы хотите убедиться, что .Wtrealm
не настроен дважды.Так что просто удалите этот второй.
Чтобы ответить на второй вопрос о Отпечатке пальца и Эмитенте:
Я не думаю, что вам нужны эти значения, но они, вероятно,хорошо бы видеть, поскольку значения отпечатка и эмитента используются для проверки токенов.
Я попытался воспроизвести все ваши исходные параметры конфигурации в приведенном ниже коде, который принадлежит файлу startup.cs
.Значение your x.509 cert string
можно получить из файла xml по URL-адресу MetadataAddress.Он будет находиться между тегами <X509Certificate>
.
var rawCertData = Convert.FromBase64String("your x.509 cert string");
X509Certificate2 cert = new X509Certificate2(rawCertData);
SecurityKey signingKey = new X509SecurityKey(cert);
services.AddAuthentication()
.AddWsFederation(options => {
options.MetadataAddress = "https://www.fedsvc3copa.beta.pa.gov/federationmetadata/2007-06/FederationMetadata.xml";
options.Wtrealm = "https://localhost:44363/";
options.TokenValidationParameters = new Microsoft.IdentityModel.Tokens.TokenValidationParameters {
ValidateIssuer = true,
ValidIssuer = "http://www.fedsvc3copa.beta.pa.gov/adfs/services/trust",
ValidateIssuerSigningKey = true,
IssuerSigningKey = signingKey
};
options.RequireHttpsMetadata = true;
}).AddCookie(cookieoption => {
cookieoption.Cookie.SecurePolicy = CookieSecurePolicy.Always;
});
Примечание. С помощью этой конфигурации я могу попасть на вашу страницу входа в систему adfs.Однако я не могу войти, потому что у меня нет прав;поэтому я не знаю, что произойдет на POST после того, как вы войдете в систему. Если у вас возникли проблемы, дайте мне знать.