How secure is your server? Can you store creds in global variable thru webMethods Admin console?
JWT can be decoded to find expiration time (if you have JWT generated, use https://jwt.io/ - its debugger page can be used to view content of token (you can also write a program to decode). After all - all oauth2 tokens are jwt tokens as well.
Simplest way is to write a service that generates token and use service caching technique - that way you can use same token without any additional programming (and if you expire service results before token expires you don’t have to check validity of token). Having said that - tokens put in ehcache (programmatically or thru service caching) can be accessed by other services running on IS (the tokens are stored in memory as plain text).
If you want the service to be more reliable, you should build a retry (hopefully service you are trying to invoke is idempotent. Fun fact @Theodore_Ezell1 taught me that word in 2005) - that way in case token was “revoked” at issuer - you could handle it (In this scenario, caching will be your enemy - as you would need to expunge previous token from cache).
if you are more adventurous - you could write a cloudstream connector.
Hopefully - someone has a better answer. 
#Service-Designer#Integration-Server-and-ESB#webMethods#Flow-and-Java-services