My colleague and I are trying to enable OAuth in ADFS 2.2. Everything is working except the server only passes back an access token (w/ expiration) and does not include a refresh token after successful login. There is very little documentation on this, but does anyone know what setting needs to be updated to return refresh tokens?
Edit: The proposed OAuth 2.0 spec states:
Issuing a refresh token is optional at the discretion of the authorization server. If the authorization server issues a refresh token, it is included when issuing an access token
Since I am receiving an access token, but no refresh token, and since ADFS currently only implements OAuth's code flow, my guess is the ADFS team chose not to return refresh tokens. I would love to hear this definitively though.
Edit: Like Travis said below, make sure
- RP's
IssueOAuthRefreshTokensTo
is set correctly - RP's
AlwaysRequireAuthentication
is false - RP's
TokenLifetime
is lower than ADFS'SSOLifetime