The Token Exchange extension defines a mechanism for a client to obtain its own tokens given a separate set of tokens. This has several different applications including:
Single-sign-on between multiple mobile apps without launching a web browser
A resource server exchanging a client's tokens for its own tokens