These are the OpenID Connect / OAuth options that you have.
- Native application
- Server application
- Web API
But nowhere in the wizard can you set the token timeout.
AD FS Scenarios for Developers shows the following PowerShell commands:
Add native client Add-AdfsNativeClientApplication
Add server application as client Add-AdfsServerApplication
Add Web API / resource Add-AdfsWebApiApplication
Building on this we can do:
get-AdfsNativeClientApplication
Name : AppA - Native application
Identifier : b1...28
ApplicationGroupIdentifier : AppA
Description :
Enabled : True
RedirectUri : {ms-app://s-45...04/}
get-AdfsServerApplication
ADUserPrincipalName :
ClientSecret : ********
JWTSigningCertificateRevocationCheck : None
JWTSigningKeys : {}
JWKSUri :
Name : AppB - Server application
Identifier : 8e...44
ApplicationGroupIdentifier : AppB
Description :
Enabled : True
RedirectUri : {https://localhost:1234/}
get-AdfsWebApiApplication
Name : AppA - Web API
Identifier : {https://localhost:44666/TodoListService}
AccessControlPolicyName : Permit everyone
AccessControlPolicyParameters :
AdditionalAuthenticationRules :
AllowedAuthenticationClassReferences : {}
AllowedClientTypes : Public, Confidential
ApplicationGroupIdentifier : AppA
ApplicationGroupId : 0e...cd
AlwaysRequireAuthentication : False
ClaimsProviderName : {}
DelegationAuthorizationRules :
Enabled : True
ImpersonationAuthorizationRules :
IssuanceAuthorizationRules :
IssueOAuthRefreshTokensTo : AllDevices
IssuanceTransformRules : @RuleTemplate = "LdapClaims"
... Some claims ...
NotBeforeSkew : 0
Description :
PublishedThroughProxy : False
RefreshTokenProtectionEnabled : False
RequestMFAFromClaimsProviders : False
ResultantPolicy : RequireFreshAuthentication:False
IssuanceAuthorizationRules:
{
Permit everyone
}
TokenLifetime : 480
And here we see a token lifetime!
But note the option only applies to web API.
To set this use:
set-AdfsWebApiApplication -TargetIdentifier "https://localhost:44666/TodoListService" -TokenLi
fetime 480
Enjoy!
3 comments:
Thank you for the article. Does the timeout apply only to the access token, or does it apply to the total length of time under which you can exchange a refresh token for an access token?
Thank you for the article. Does the token lifetime apply only to the access token, or does it apply to the total length of time under which a refresh token can be exchanged for a new access token?
I haven't seen a definite answer on this but my guess is that this is for the refresh token.
When I play around with Postman, the access token timeout is very short.
Post a Comment