Невозможно передать динамические значения в записи конфигурации
У меня есть требование передать утверждение клиента JWT в запись конфигурации предоставления учетных данных клиента oauth2. Я передаю параметр как необязательный параметр. Но этот параметр необходимо генерировать каждый раз, когда конечная точка маркера вызывается для маркера доступа. Поэтому я сделал что-то вроде следующего.
http:OAuth2ClientCredentialsGrantConfig oauth2Config = {
tokenUrl: "https://*****/oauth2/token",
clientId: "*******",
optionalParams: getJWT(),
clientSecret: "*****",
credentialBearer: oauth2:POST_BODY_BEARER
};
Здесь метод getJWT() возвращает карту с JWT.
function getJWT() returns map<string> {
string jwt = // logic to generate the JWT
map<string> jwtAssertion = {
"client_assertion" : jwt
};
return jwtAssertion;
}
Это работает только один раз. Когда срок действия маркера доступа, возвращаемого конечной точкой маркера, истекает, и когда конечная точка маркера вызывается снова для маркера доступа, метод getJWT() не вызывается. Поэтому я предполагаю, что новый запрос идет со старым JWT, поэтому запрос не выполняется.
Есть ли способ передать динамически изменяющееся значение в качестве параметра записи http:OAuth2ClientCredentialsGrantConfig?