Asynchronously generate oauth tokens

Say I need to get an oauth token before calling another service. Let’s also say that that token expires after 15 minutes and can be cached for use in multiple requests. How can I use akka or akka-http to prefetch and refresh that token asynchronously such that I don’t introduce api call latency due to the oauth server?