I have a native iOS application that uses a standard OAuth flow to authenticate to the Salesforce REST API and fetch data for offline viewing. I have a requirement in the app for one user to be able to occasionally impersonate another user and fetch their data. (This might be for support team use or if one user is covering another's accounts while they are on vacation, etc). The impersonating user doesn't and shouldn't have the username and password of the user they need to impersonate.
Similar to the "Log In as another user" admin feature in Salesforce web, is it possible to obtain an access token on behalf of another user?