Я использую OpenID Connect и OAuth 2.0 для аутентификации и авторизации пользователей непосредственно в AD FS 4.0. Я добавил свое приложение Angular + ASP.NET Core как приложение Native и Wep API в группы приложений. Если я изменю пароль пользователя в AD, пользователь будет перенаправлен на страницу входа только через 1 час. Мне нужно перенаправить пользователя на страницу входа при смене пароля за пару минут.
Для этого я уменьшил TokenLifetime (время жизни токена доступа) с 60 до 2 минут в свойствах AdfsWebApiApplication. Каждые 2 минуты проверяется токен обновления, но, несмотря на изменение пароля, перенаправление не происходит. Пользователь по-прежнему перенаправлен на страницу входа через 60 минут. Также я попытался уменьшить время SSOLifetime до 5 минут в AdfsProperties, но в этом случае пользователь перенаправляется на страницу входа каждые 5 минут независимо от статуса смены пароля.
Get-AdfsWebApiApplication:
AccessControlPolicyName : Permit everyone
AccessControlPolicyParameters :
AdditionalAuthenticationRules :
AllowedAuthenticationClassReferences : {}
AllowedClientTypes : Public, Confidential
ApplicationGroupIdentifier : MyApp
AlwaysRequireAuthentication : False
ClaimsProviderName : {}
DelegationAuthorizationRules :
Enabled : True
ImpersonationAuthorizationRules :
IssuanceAuthorizationRules :
IssueOAuthRefreshTokensTo : AllDevices
IssuanceTransformRules : ...
NotBeforeSkew : 0
Description :
PublishedThroughProxy : False
RefreshTokenProtectionEnabled : False
RequestMFAFromClaimsProviders : False
ResultantPolicy : RequireFreshAuthentication:False
IssuanceAuthorizationRules:
{
Permit everyone
}
TokenLifetime : 2
Get-AdfsProperties:
AddProxyAuthorizationRules : ...
ArtifactDbConnection :....
AuditLevel : {Basic}
AutoCertificateRollover : True
CertificateCriticalThreshold : 2
CertificateDuration : 365
CertificateGenerationThreshold : 20
CertificatePromotionThreshold : 5
CertificateRolloverInterval : 720
CertificateSharingContainer :
CertificateThresholdMultiplier : 1440
ClientCertRevocationCheck : None
ContactPerson : Microsoft.IdentityServer.Management.Resources.ContactPerson
DisplayName : login
IntranetUseLocalClaimsProvider : False
ExtendedProtectionTokenCheck : Allow
FederationPassiveAddress : /adfs/ls/
HostName : login
HttpPort : 80
HttpsPort : 443
TlsClientPort : 49443
Identifier : <identifier>
IdTokenIssuer : <issuer>
InstalledLanguage : en-US
LogLevel : {Errors, FailureAudits, Information, Verbose...}
MonitoringInterval : 1440
NetTcpPort : 1501
NtlmOnlySupportedClientAtProxy : False
OrganizationInfo :
PreventTokenReplays : False
ProxyTrustTokenLifetime : 21600
ReplayCacheExpirationInterval : 60
SignedSamlRequestsRequired : False
SamlMessageDeliveryWindow : 5
SignSamlAuthnRequests : False
SsoLifetime : 480
PersistentSsoLifetimeMins : 129600
KmsiLifetimeMins : 1440
PersistentSsoEnabled : True
PersistentSsoCutoffTime : 01/01/0001 00:00:00
KmsiEnabled : False
LoopDetectionEnabled : True
LoopDetectionTimeIntervalInSeconds : 20
LoopDetectionMaximumTokensIssuedInInterval : 5
PasswordValidationDelayInMinutes : 60
SendClientRequestIdAsQueryStringParameter : False
WIASupportedUserAgents : {MSAuthHost/1.0/In-Domain, MSIE 6.0, MSIE 7.0, MSIE 8.0...}
BrowserSsoSupportedUserAgents : {Windows NT 1, Windows Phone 1}
ExtranetLockoutThreshold : 2147483647
ExtranetLockoutEnabled : False
ExtranetObservationWindow : 00:30:00
GlobalRelyingPartyClaimsIssuancePolicy : ...
ExtranetLockoutRequirePDC : True
LocalAuthenticationTypesEnabled : True
RelayStateForIdpInitiatedSignOnEnabled : False
BrowserSsoEnabled : True
DelegateServiceAdministration :
AllowSystemServiceAdministration : False
AllowLocalAdminsServiceAdministration : True
CurrentFarmBehavior : 3
DeviceUsageWindowInDays : 14
EnableIdpInitiatedSignonPage : False
IgnoreTokenBinding : False
Я полагаю, что PasswordValidationDelayInMinutes = 60 отвечает за это. Но я не могу изменить этот параметр с помощью команды Set-AdfsProperties.
Что я могу сделать, чтобы перенаправить пользователя на страницу входа через 2 минуты?