For step 4: you really shouldn’t need to revoke guest tokens as they are short lived and are not tied to a user.
Is that what I’m doing? Is the token that I’m seeing appear under my account settings in step 3 a guest token? (Is there any way to tell that from the UI?) It does not appear to be a guest token inside the app: it reports my user ID, which the documentation leads me to believe is not the case with guest tokens.
it is used in conjunction with an error returned from the API to check if the error indicates that the token is expired
Right, and like I said: I’m passing it the error that comes from the timeline’s failed attempt to load content, that outright says it’s because of an invalid or expired token, and the method is returning NO. Now, if it only works on guest sessions, and this is not a guest session that might explain the discrepancy. But then, how can you ever tell whether your non-guest sessions have expired, or been revoked?
(Also: the documentation doesn’t specify that those methods only apply to guest sessions.)