oauth2 updates (#3876)

~ changed tokenPrefix to tokenHeaderPrefix
~ updated the logic for token timer component
This commit is contained in:
lohit
2025-01-24 19:39:29 +05:30
committed by GitHub
parent 1d1e701ccb
commit c5eeb190d3
17 changed files with 56 additions and 52 deletions

View File

@@ -22,7 +22,7 @@ const OAuth2AuthorizationCode = ({ save, item = {}, request, handleRun, updateAu
const oAuth = get(request, 'auth.oauth2', {});
const { callbackUrl, authorizationUrl, accessTokenUrl, clientId, clientSecret, scope, credentialsPlacement, state, pkce, credentialsId, tokenPlacement, tokenPrefix, tokenQueryKey, reuseToken } = oAuth;
const { callbackUrl, authorizationUrl, accessTokenUrl, clientId, clientSecret, scope, credentialsPlacement, state, pkce, credentialsId, tokenPlacement, tokenHeaderPrefix, tokenQueryKey, reuseToken } = oAuth;
const TokenPlacementIcon = forwardRef((props, ref) => {
return (
@@ -81,7 +81,7 @@ const OAuth2AuthorizationCode = ({ save, item = {}, request, handleRun, updateAu
credentialsPlacement,
credentialsId,
tokenPlacement,
tokenPrefix,
tokenHeaderPrefix,
tokenQueryKey,
reuseToken,
[key]: value
@@ -108,7 +108,7 @@ const OAuth2AuthorizationCode = ({ save, item = {}, request, handleRun, updateAu
credentialsPlacement,
credentialsId,
tokenPlacement,
tokenPrefix,
tokenHeaderPrefix,
tokenQueryKey,
reuseToken,
pkce: !Boolean(oAuth?.['pkce'])
@@ -246,10 +246,10 @@ const OAuth2AuthorizationCode = ({ save, item = {}, request, handleRun, updateAu
<label className="block min-w-[140px]">Header Prefix</label>
<div className="single-line-editor-wrapper flex-1">
<SingleLineEditor
value={oAuth['tokenPrefix'] || ''}
value={oAuth['tokenHeaderPrefix'] || ''}
theme={storedTheme}
onSave={handleSave}
onChange={(val) => handleChange('tokenPrefix', val)}
onChange={(val) => handleChange('tokenHeaderPrefix', val)}
onRun={handleRun}
collection={collection}
/>

View File

@@ -22,7 +22,7 @@ const OAuth2ClientCredentials = ({ save, item = {}, request, handleRun, updateAu
const oAuth = get(request, 'auth.oauth2', {});
const { accessTokenUrl, clientId, clientSecret, scope, credentialsPlacement, credentialsId, tokenPlacement, tokenPrefix, tokenQueryKey, reuseToken } = oAuth;
const { accessTokenUrl, clientId, clientSecret, scope, credentialsPlacement, credentialsId, tokenPlacement, tokenHeaderPrefix, tokenQueryKey, reuseToken } = oAuth;
const handleFetchOauth2Credentials = async () => {
let requestCopy = cloneDeep(request);
@@ -76,7 +76,7 @@ const OAuth2ClientCredentials = ({ save, item = {}, request, handleRun, updateAu
credentialsPlacement,
credentialsId,
tokenPlacement,
tokenPrefix,
tokenHeaderPrefix,
tokenQueryKey,
reuseToken,
[key]: value
@@ -205,10 +205,10 @@ const OAuth2ClientCredentials = ({ save, item = {}, request, handleRun, updateAu
<label className="block min-w-[140px]">Header Prefix</label>
<div className="single-line-editor-wrapper flex-1">
<SingleLineEditor
value={oAuth['tokenPrefix'] || ''}
value={oAuth['tokenHeaderPrefix'] || ''}
theme={storedTheme}
onSave={handleSave}
onChange={(val) => handleChange('tokenPrefix', val)}
onChange={(val) => handleChange('tokenHeaderPrefix', val)}
onRun={handleRun}
collection={collection}
/>

View File

@@ -64,7 +64,7 @@ const GrantTypeSelector = ({ item = {}, request, updateAuth, collection }) => {
credentialsPlacement: 'body',
credentialsId: 'credentials',
tokenPlacement: 'header',
tokenPrefix: 'Bearer',
tokenHeaderPrefix: 'Bearer',
tokenQueryKey: 'access_token',
reuseToken: false
}

View File

@@ -97,15 +97,19 @@ const formatExpiryTime = (seconds) => {
const ExpiryTimer = ({ expiresIn }) => {
if (!expiresIn) return null;
const [timeLeft, setTimeLeft] = useState(() => Math.max(0, Math.floor((expiresIn - Date.now() / 1000))));
const calculateTimeLeft = () => Math.max(0, Math.floor(expiresIn - Date.now() / 1000));
const [timeLeft, setTimeLeft] = useState(calculateTimeLeft);
useEffect(() => {
setTimeLeft(calculateTimeLeft());
const timer = setInterval(() => {
setTimeLeft((prev) => (prev > 0 ? prev - 1 : 0));
}, 1000);
return () => clearInterval(timer);
}, []);
}, [expiresIn]);
return (
<div
@@ -115,7 +119,7 @@ const ExpiryTimer = ({ expiresIn }) => {
: "bg-blue-50 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400"
}`}
>
{timeLeft > 0 ? `Expires in ${formatExpiryTime(timeLeft)}` : `Expired` }
{timeLeft > 0 ? `Expires in ${formatExpiryTime(timeLeft)}` : `Expired`}
</div>
);
};

View File

@@ -22,7 +22,7 @@ const OAuth2PasswordCredentials = ({ save, item = {}, request, handleRun, update
const oAuth = get(request, 'auth.oauth2', {});
const { accessTokenUrl, username, password, clientId, clientSecret, scope, credentialsPlacement, credentialsId, tokenPlacement, tokenPrefix, tokenQueryKey, reuseToken } = oAuth;
const { accessTokenUrl, username, password, clientId, clientSecret, scope, credentialsPlacement, credentialsId, tokenPlacement, tokenHeaderPrefix, tokenQueryKey, reuseToken } = oAuth;
const handleFetchOauth2Credentials = async () => {
let requestCopy = cloneDeep(request);
@@ -78,7 +78,7 @@ const OAuth2PasswordCredentials = ({ save, item = {}, request, handleRun, update
credentialsPlacement,
credentialsId,
tokenPlacement,
tokenPrefix,
tokenHeaderPrefix,
tokenQueryKey,
reuseToken,
[key]: value
@@ -207,10 +207,10 @@ const OAuth2PasswordCredentials = ({ save, item = {}, request, handleRun, update
<label className="block min-w-[140px]">Header Prefix</label>
<div className="single-line-editor-wrapper flex-1">
<SingleLineEditor
value={oAuth['tokenPrefix'] || ''}
value={oAuth['tokenHeaderPrefix'] || ''}
theme={storedTheme}
onSave={handleSave}
onChange={(val) => handleChange('tokenPrefix', val)}
onChange={(val) => handleChange('tokenHeaderPrefix', val)}
onRun={handleRun}
collection={collection}
/>

View File

@@ -364,7 +364,7 @@ export const transformCollectionToSaveToExportAsFile = (collection, options = {}
credentialsPlacement: get(si.request, 'auth.oauth2.credentialsPlacement', 'body'),
credentialsId: get(si.request, 'auth.oauth2.credentialsId', 'credentials'),
tokenPlacement: get(si.request, 'auth.oauth2.tokenPlacement', 'header'),
tokenPrefix: get(si.request, 'auth.oauth2.tokenPrefix', 'Bearer'),
tokenHeaderPrefix: get(si.request, 'auth.oauth2.tokenHeaderPrefix', 'Bearer'),
tokenQueryKey: get(si.request, 'auth.oauth2.tokenQueryKey', ''),
reuseToken: get(si.request, 'auth.oauth2.reuseToken', false)
};
@@ -382,7 +382,7 @@ export const transformCollectionToSaveToExportAsFile = (collection, options = {}
pkce: get(si.request, 'auth.oauth2.pkce', false),
credentialsId: get(si.request, 'auth.oauth2.credentialsId', 'credentials'),
tokenPlacement: get(si.request, 'auth.oauth2.tokenPlacement', 'header'),
tokenPrefix: get(si.request, 'auth.oauth2.tokenPrefix', 'Bearer'),
tokenHeaderPrefix: get(si.request, 'auth.oauth2.tokenHeaderPrefix', 'Bearer'),
tokenQueryKey: get(si.request, 'auth.oauth2.tokenQueryKey', ''),
reuseToken: get(si.request, 'auth.oauth2.reuseToken', false)
};
@@ -397,7 +397,7 @@ export const transformCollectionToSaveToExportAsFile = (collection, options = {}
credentialsPlacement: get(si.request, 'auth.oauth2.credentialsPlacement', 'body'),
credentialsId: get(si.request, 'auth.oauth2.credentialsId', 'credentials'),
tokenPlacement: get(si.request, 'auth.oauth2.tokenPlacement', 'header'),
tokenPrefix: get(si.request, 'auth.oauth2.tokenPrefix', 'Bearer'),
tokenHeaderPrefix: get(si.request, 'auth.oauth2.tokenHeaderPrefix', 'Bearer'),
tokenQueryKey: get(si.request, 'auth.oauth2.tokenQueryKey', ''),
reuseToken: get(si.request, 'auth.oauth2.reuseToken', false)
};

View File

@@ -170,7 +170,7 @@ const interpolateVars = (request, envVariables = {}, runtimeVariables = {}, proc
request.oauth2.credentialsPlacement = _interpolate(request.oauth2.credentialsPlacement) || '';
request.oauth2.credentialsId = _interpolate(request.oauth2.credentialsId) || '';
request.oauth2.tokenPlacement = _interpolate(request.oauth2.tokenPlacement) || '';
request.oauth2.tokenPrefix = _interpolate(request.oauth2.tokenPrefix) || '';
request.oauth2.tokenHeaderPrefix = _interpolate(request.oauth2.tokenHeaderPrefix) || '';
request.oauth2.tokenQueryKey = _interpolate(request.oauth2.tokenQueryKey) || '';
request.oauth2.reuseToken = _interpolate(request.oauth2.reuseToken) || false;
break;
@@ -186,7 +186,7 @@ const interpolateVars = (request, envVariables = {}, runtimeVariables = {}, proc
request.oauth2.credentialsPlacement = _interpolate(request.oauth2.credentialsPlacement) || '';
request.oauth2.credentialsId = _interpolate(request.oauth2.credentialsId) || '';
request.oauth2.tokenPlacement = _interpolate(request.oauth2.tokenPlacement) || '';
request.oauth2.tokenPrefix = _interpolate(request.oauth2.tokenPrefix) || '';
request.oauth2.tokenHeaderPrefix = _interpolate(request.oauth2.tokenHeaderPrefix) || '';
request.oauth2.tokenQueryKey = _interpolate(request.oauth2.tokenQueryKey) || '';
request.oauth2.reuseToken = _interpolate(request.oauth2.reuseToken) || false;
break;
@@ -198,7 +198,7 @@ const interpolateVars = (request, envVariables = {}, runtimeVariables = {}, proc
request.oauth2.credentialsPlacement = _interpolate(request.oauth2.credentialsPlacement) || '';
request.oauth2.credentialsId = _interpolate(request.oauth2.credentialsId) || '';
request.oauth2.tokenPlacement = _interpolate(request.oauth2.tokenPlacement) || '';
request.oauth2.tokenPrefix = _interpolate(request.oauth2.tokenPrefix) || '';
request.oauth2.tokenHeaderPrefix = _interpolate(request.oauth2.tokenHeaderPrefix) || '';
request.oauth2.tokenQueryKey = _interpolate(request.oauth2.tokenQueryKey) || '';
request.oauth2.reuseToken = _interpolate(request.oauth2.reuseToken) || false;
break;

View File

@@ -100,7 +100,7 @@ const setAuthHeaders = (axiosRequest, request, collectionRoot) => {
credentialsPlacement: get(collectionAuth, 'oauth2.credentialsPlacement'),
credentialsId: get(collectionAuth, 'oauth2.credentialsId'),
tokenPlacement: get(collectionAuth, 'oauth2.tokenPlacement'),
tokenPrefix: get(collectionAuth, 'oauth2.tokenPrefix'),
tokenHeaderPrefix: get(collectionAuth, 'oauth2.tokenHeaderPrefix'),
tokenQueryKey: get(collectionAuth, 'oauth2.tokenQueryKey'),
reuseToken: get(collectionAuth, 'oauth2.reuseToken')
};
@@ -119,7 +119,7 @@ const setAuthHeaders = (axiosRequest, request, collectionRoot) => {
credentialsPlacement: get(collectionAuth, 'oauth2.credentialsPlacement'),
credentialsId: get(collectionAuth, 'oauth2.credentialsId'),
tokenPlacement: get(collectionAuth, 'oauth2.tokenPlacement'),
tokenPrefix: get(collectionAuth, 'oauth2.tokenPrefix'),
tokenHeaderPrefix: get(collectionAuth, 'oauth2.tokenHeaderPrefix'),
tokenQueryKey: get(collectionAuth, 'oauth2.tokenQueryKey'),
reuseToken: get(collectionAuth, 'oauth2.reuseToken')
};
@@ -134,7 +134,7 @@ const setAuthHeaders = (axiosRequest, request, collectionRoot) => {
credentialsPlacement: get(collectionAuth, 'oauth2.credentialsPlacement'),
credentialsId: get(collectionAuth, 'oauth2.credentialsId'),
tokenPlacement: get(collectionAuth, 'oauth2.tokenPlacement'),
tokenPrefix: get(collectionAuth, 'oauth2.tokenPrefix'),
tokenHeaderPrefix: get(collectionAuth, 'oauth2.tokenHeaderPrefix'),
tokenQueryKey: get(collectionAuth, 'oauth2.tokenQueryKey'),
reuseToken: get(collectionAuth, 'oauth2.reuseToken')
};
@@ -192,7 +192,7 @@ const setAuthHeaders = (axiosRequest, request, collectionRoot) => {
credentialsPlacement: get(request, 'auth.oauth2.credentialsPlacement'),
credentialsId: get(request, 'auth.oauth2.credentialsId'),
tokenPlacement: get(request, 'auth.oauth2.tokenPlacement'),
tokenPrefix: get(request, 'auth.oauth2.tokenPrefix'),
tokenHeaderPrefix: get(request, 'auth.oauth2.tokenHeaderPrefix'),
tokenQueryKey: get(request, 'auth.oauth2.tokenQueryKey'),
reuseToken: get(request, 'auth.oauth2.reuseToken')
};
@@ -211,7 +211,7 @@ const setAuthHeaders = (axiosRequest, request, collectionRoot) => {
credentialsPlacement: get(request, 'auth.oauth2.credentialsPlacement'),
credentialsId: get(request, 'auth.oauth2.credentialsId'),
tokenPlacement: get(request, 'auth.oauth2.tokenPlacement'),
tokenPrefix: get(request, 'auth.oauth2.tokenPrefix'),
tokenHeaderPrefix: get(request, 'auth.oauth2.tokenHeaderPrefix'),
tokenQueryKey: get(request, 'auth.oauth2.tokenQueryKey'),
reuseToken: get(request, 'auth.oauth2.reuseToken')
};
@@ -226,7 +226,7 @@ const setAuthHeaders = (axiosRequest, request, collectionRoot) => {
credentialsPlacement: get(request, 'auth.oauth2.credentialsPlacement'),
credentialsId: get(request, 'auth.oauth2.credentialsId'),
tokenPlacement: get(request, 'auth.oauth2.tokenPlacement'),
tokenPrefix: get(request, 'auth.oauth2.tokenPrefix'),
tokenHeaderPrefix: get(request, 'auth.oauth2.tokenHeaderPrefix'),
tokenQueryKey: get(request, 'auth.oauth2.tokenQueryKey'),
reuseToken: get(request, 'auth.oauth2.reuseToken')
};
@@ -613,7 +613,7 @@ const configureRequest = async (
if (request.oauth2) {
let requestCopy = cloneDeep(request);
const { oauth2: { grantType, tokenPlacement, tokenPrefix, tokenQueryKey } = {} } = requestCopy || {};
const { oauth2: { grantType, tokenPlacement, tokenHeaderPrefix, tokenQueryKey } = {} } = requestCopy || {};
let credentials, credentialsId;
switch (grantType) {
case 'authorization_code':
@@ -621,7 +621,7 @@ const configureRequest = async (
({ credentials, url: oauth2Url, credentialsId } = await getOAuth2TokenUsingAuthorizationCode({ request: requestCopy, collectionUid }));
request.oauth2Credentials = { credentials, url: oauth2Url, collectionUid, credentialsId };
if (tokenPlacement == 'header') {
request.headers['Authorization'] = `${tokenPrefix} ${credentials?.access_token}`;
request.headers['Authorization'] = `${tokenHeaderPrefix} ${credentials?.access_token}`;
}
else {
try {
@@ -637,7 +637,7 @@ const configureRequest = async (
({ credentials, url: oauth2Url, credentialsId } = await getOAuth2TokenUsingClientCredentials({ request: requestCopy, collectionUid }));
request.oauth2Credentials = { credentials, url: oauth2Url, collectionUid, credentialsId };
if (tokenPlacement == 'header') {
request.headers['Authorization'] = `${tokenPrefix} ${credentials?.access_token}`;
request.headers['Authorization'] = `${tokenHeaderPrefix} ${credentials?.access_token}`;
}
else {
try {
@@ -653,7 +653,7 @@ const configureRequest = async (
({ credentials, url: oauth2Url, credentialsId } = await getOAuth2TokenUsingPasswordCredentials({ request: requestCopy, collectionUid }));
request.oauth2Credentials = { credentials, url: oauth2Url, collectionUid, credentialsId };
if (tokenPlacement == 'header') {
request.headers['Authorization'] = `${tokenPrefix} ${credentials?.access_token}`;
request.headers['Authorization'] = `${tokenHeaderPrefix} ${credentials?.access_token}`;
}
else {
try {

View File

@@ -487,7 +487,7 @@ const sem = grammar.createSemantics().addAttribute('ast', {
const credentialsPlacementKey = _.find(auth, { name: 'credentials_placement' });
const credentialsIdKey = _.find(auth, { name: 'credentials_id' });
const tokenPlacementKey = _.find(auth, { name: 'token_placement' });
const tokenPrefixKey = _.find(auth, { name: 'token_prefix' });
const tokenHeaderPrefixKey = _.find(auth, { name: 'token_header_prefix' });
const tokenQueryKeyKey = _.find(auth, { name: 'token_query_key' });
const reuseTokenKey = _.find(auth, { name: 'reuse_token' });
return {
@@ -505,7 +505,7 @@ const sem = grammar.createSemantics().addAttribute('ast', {
credentialsPlacement: credentialsPlacementKey?.value ? credentialsPlacementKey.value : 'body',
credentialsId: credentialsIdKey?.value ? credentialsIdKey.value : 'credentials',
tokenPlacement: tokenPlacementKey?.value ? tokenPlacementKey.value : 'header',
tokenPrefix: tokenPrefixKey?.value ? tokenPrefixKey.value : 'Bearer',
tokenHeaderPrefix: tokenHeaderPrefixKey?.value ? tokenHeaderPrefixKey.value : 'Bearer',
tokenQueryKey: tokenQueryKeyKey?.value ? tokenQueryKeyKey.value : 'access_token',
reuseToken: reuseTokenKey?.value ? JSON.parse(reuseTokenKey?.value || false) : false
}
@@ -523,7 +523,7 @@ const sem = grammar.createSemantics().addAttribute('ast', {
credentialsPlacement: credentialsPlacementKey?.value ? credentialsPlacementKey.value : 'body',
credentialsId: credentialsIdKey?.value ? credentialsIdKey.value : 'credentials',
tokenPlacement: tokenPlacementKey?.value ? tokenPlacementKey.value : 'header',
tokenPrefix: tokenPrefixKey?.value ? tokenPrefixKey.value : 'Bearer',
tokenHeaderPrefix: tokenHeaderPrefixKey?.value ? tokenHeaderPrefixKey.value : 'Bearer',
tokenQueryKey: tokenQueryKeyKey?.value ? tokenQueryKeyKey.value : 'access_token',
reuseToken: reuseTokenKey?.value ? JSON.parse(reuseTokenKey?.value || false) : false
}
@@ -537,7 +537,7 @@ const sem = grammar.createSemantics().addAttribute('ast', {
credentialsPlacement: credentialsPlacementKey?.value ? credentialsPlacementKey.value : 'body',
credentialsId: credentialsIdKey?.value ? credentialsIdKey.value : 'credentials',
tokenPlacement: tokenPlacementKey?.value ? tokenPlacementKey.value : 'header',
tokenPrefix: tokenPrefixKey?.value ? tokenPrefixKey.value : 'Bearer',
tokenHeaderPrefix: tokenHeaderPrefixKey?.value ? tokenHeaderPrefixKey.value : 'Bearer',
tokenQueryKey: tokenQueryKeyKey?.value ? tokenQueryKeyKey.value : 'access_token',
reuseToken: reuseTokenKey?.value ? JSON.parse(reuseTokenKey?.value || false) : false
}

View File

@@ -282,7 +282,7 @@ const sem = grammar.createSemantics().addAttribute('ast', {
const credentialsPlacementKey = _.find(auth, { name: 'credentials_placement' });
const credentialsIdKey = _.find(auth, { name: 'credentials_id' });
const tokenPlacementKey = _.find(auth, { name: 'token_placement' });
const tokenPrefixKey = _.find(auth, { name: 'token_prefix' });
const tokenHeaderPrefixKey = _.find(auth, { name: 'token_header_prefix' });
const tokenQueryKeyKey = _.find(auth, { name: 'token_query_key' });
const reuseTokenKey = _.find(auth, { name: 'reuseToken' });
return {
@@ -300,7 +300,7 @@ const sem = grammar.createSemantics().addAttribute('ast', {
credentialsPlacement: credentialsPlacementKey?.value ? credentialsPlacementKey.value : 'body',
credentialsId: credentialsIdKey?.value ? credentialsIdKey.value : 'credentials',
tokenPlacement: tokenPlacementKey?.value ? tokenPlacementKey.value : 'header',
tokenPrefix: tokenPrefixKey?.value ? tokenPrefixKey.value : 'Bearer',
tokenHeaderPrefix: tokenHeaderPrefixKey?.value ? tokenHeaderPrefixKey.value : 'Bearer',
tokenQueryKey: tokenQueryKeyKey?.value ? tokenQueryKeyKey.value : 'access_token',
reuseToken: reuseTokenKey?.value ? JSON.parse(reuseTokenKey?.value || false) : false
}
@@ -318,7 +318,7 @@ const sem = grammar.createSemantics().addAttribute('ast', {
credentialsPlacement: credentialsPlacementKey?.value ? credentialsPlacementKey.value : 'body',
credentialsId: credentialsIdKey?.value ? credentialsIdKey.value : 'credentials',
tokenPlacement: tokenPlacementKey?.value ? tokenPlacementKey.value : 'header',
tokenPrefix: tokenPrefixKey?.value ? tokenPrefixKey.value : 'Bearer',
tokenHeaderPrefix: tokenHeaderPrefixKey?.value ? tokenHeaderPrefixKey.value : 'Bearer',
tokenQueryKey: tokenQueryKeyKey?.value ? tokenQueryKeyKey.value : 'access_token',
reuseToken: reuseTokenKey?.value ? JSON.parse(reuseTokenKey?.value || false) : false
}
@@ -332,7 +332,7 @@ const sem = grammar.createSemantics().addAttribute('ast', {
credentialsPlacement: credentialsPlacementKey?.value ? credentialsPlacementKey.value : 'body',
credentialsId: credentialsIdKey?.value ? credentialsIdKey.value : 'credentials',
tokenPlacement: tokenPlacementKey?.value ? tokenPlacementKey.value : 'header',
tokenPrefix: tokenPrefixKey?.value ? tokenPrefixKey.value : 'Bearer',
tokenHeaderPrefix: tokenHeaderPrefixKey?.value ? tokenHeaderPrefixKey.value : 'Bearer',
tokenQueryKey: tokenQueryKeyKey?.value ? tokenQueryKeyKey.value : 'access_token',
reuseToken: reuseTokenKey?.value ? JSON.parse(reuseTokenKey?.value || false) : false
}

View File

@@ -191,7 +191,7 @@ ${indentString(`scope: ${auth?.oauth2?.scope || ''}`)}
${indentString(`credentials_placement: ${auth?.oauth2?.credentialsPlacement || ''}`)}
${indentString(`credentials_id: ${auth?.oauth2?.credentialsId || ''}`)}
${indentString(`token_placement: ${auth?.oauth2?.tokenPlacement || ''}`)}${
auth?.oauth2?.tokenPlacement == 'header' ? '\n' + indentString(`token_prefix: ${auth?.oauth2?.tokenPrefix || ''}`) : ''
auth?.oauth2?.tokenPlacement == 'header' ? '\n' + indentString(`token_header_prefix: ${auth?.oauth2?.tokenHeaderPrefix || ''}`) : ''
}${
auth?.oauth2?.tokenPlacement !== 'header' ? '\n' + indentString(`token_query_key: ${auth?.oauth2?.tokenQueryKey || ''}`) : ''
}
@@ -214,7 +214,7 @@ ${indentString(`pkce: ${(auth?.oauth2?.pkce || false).toString()}`)}
${indentString(`credentials_placement: ${auth?.oauth2?.credentialsPlacement || ''}`)}
${indentString(`credentials_id: ${auth?.oauth2?.credentialsId || ''}`)}
${indentString(`token_placement: ${auth?.oauth2?.tokenPlacement || ''}`)}${
auth?.oauth2?.tokenPlacement == 'header' ? '\n' + indentString(`token_prefix: ${auth?.oauth2?.tokenPrefix || ''}`) : ''
auth?.oauth2?.tokenPlacement == 'header' ? '\n' + indentString(`token_header_prefix: ${auth?.oauth2?.tokenHeaderPrefix || ''}`) : ''
}${
auth?.oauth2?.tokenPlacement !== 'header' ? '\n' + indentString(`token_query_key: ${auth?.oauth2?.tokenQueryKey || ''}`) : ''
}
@@ -233,7 +233,7 @@ ${indentString(`scope: ${auth?.oauth2?.scope || ''}`)}
${indentString(`credentials_placement: ${auth?.oauth2?.credentialsPlacement || ''}`)}
${indentString(`credentials_id: ${auth?.oauth2?.credentialsId || ''}`)}
${indentString(`token_placement: ${auth?.oauth2?.tokenPlacement || ''}`)}${
auth?.oauth2?.tokenPlacement == 'header' ? '\n' + indentString(`token_prefix: ${auth?.oauth2?.tokenPrefix || ''}`) : ''
auth?.oauth2?.tokenPlacement == 'header' ? '\n' + indentString(`token_header_prefix: ${auth?.oauth2?.tokenHeaderPrefix || ''}`) : ''
}${
auth?.oauth2?.tokenPlacement !== 'header' ? '\n' + indentString(`token_query_key: ${auth?.oauth2?.tokenQueryKey || ''}`) : ''
}

View File

@@ -157,7 +157,7 @@ ${indentString(`scope: ${auth?.oauth2?.scope || ''}`)}
${indentString(`credentials_placement: ${auth?.oauth2?.credentialsPlacement || ''}`)}
${indentString(`credentials_id: ${auth?.oauth2?.credentialsId || ''}`)}
${indentString(`token_placement: ${auth?.oauth2?.tokenPlacement || ''}`)}${
auth?.oauth2?.tokenPlacement == 'header' ? '\n' + indentString(`token_prefix: ${auth?.oauth2?.tokenPrefix || ''}`) : ''
auth?.oauth2?.tokenPlacement == 'header' ? '\n' + indentString(`token_header_prefix: ${auth?.oauth2?.tokenHeaderPrefix || ''}`) : ''
}${
auth?.oauth2?.tokenPlacement !== 'header' ? '\n' + indentString(`token_query_key: ${auth?.oauth2?.tokenQueryKey || ''}`) : ''
}
@@ -180,7 +180,7 @@ ${indentString(`pkce: ${(auth?.oauth2?.pkce || false).toString()}`)}
${indentString(`credentials_placement: ${auth?.oauth2?.credentialsPlacement || ''}`)}
${indentString(`credentials_id: ${auth?.oauth2?.credentialsId || ''}`)}
${indentString(`token_placement: ${auth?.oauth2?.tokenPlacement || ''}`)}${
auth?.oauth2?.tokenPlacement == 'header' ? '\n' + indentString(`token_prefix: ${auth?.oauth2?.tokenPrefix || ''}`) : ''
auth?.oauth2?.tokenPlacement == 'header' ? '\n' + indentString(`token_header_prefix: ${auth?.oauth2?.tokenHeaderPrefix || ''}`) : ''
}${
auth?.oauth2?.tokenPlacement !== 'header' ? '\n' + indentString(`token_query_key: ${auth?.oauth2?.tokenQueryKey || ''}`) : ''
}
@@ -199,7 +199,7 @@ ${indentString(`scope: ${auth?.oauth2?.scope || ''}`)}
${indentString(`credentials_placement: ${auth?.oauth2?.credentialsPlacement || ''}`)}
${indentString(`credentials_id: ${auth?.oauth2?.credentialsId || ''}`)}
${indentString(`token_placement: ${auth?.oauth2?.tokenPlacement || ''}`)}${
auth?.oauth2?.tokenPlacement == 'header' ? '\n' + indentString(`token_prefix: ${auth?.oauth2?.tokenPrefix || ''}`) : ''
auth?.oauth2?.tokenPlacement == 'header' ? '\n' + indentString(`token_header_prefix: ${auth?.oauth2?.tokenHeaderPrefix || ''}`) : ''
}${
auth?.oauth2?.tokenPlacement !== 'header' ? '\n' + indentString(`token_query_key: ${auth?.oauth2?.tokenQueryKey || ''}`) : ''
}

View File

@@ -215,7 +215,7 @@ const oauth2Schema = Yup.object({
then: Yup.string().nullable(),
otherwise: Yup.string().nullable().strip()
}),
tokenPrefix: Yup.string().when(['grantType', 'tokenPlacement'], {
tokenHeaderPrefix: Yup.string().when(['grantType', 'tokenPlacement'], {
is: (grantType, tokenPlacement) =>
['client_credentials', 'password', 'authorization_code'].includes(grantType) && tokenPlacement === 'header',
then: Yup.string().nullable(),

View File

@@ -15,6 +15,6 @@ auth:oauth2 {
credentials_placement: body
credentials_id: credentials
token_placement: header
token_prefix: Bearer
token_header_prefix: Bearer
reuse_token:
}

View File

@@ -23,6 +23,6 @@ auth:oauth2 {
credentials_placement: body
credentials_id: credentials
token_placement: header
token_prefix: Bearer
token_header_prefix: Bearer
reuse_token:
}

View File

@@ -14,7 +14,7 @@ auth:oauth2 {
pkce: true
tokenId: keycloak
tokenPlacement: header
tokenPrefix: Bearer
tokenHeaderPrefix: Bearer
tokenQueryKey: access_token
reuseToken:
}

View File

@@ -19,6 +19,6 @@ auth:oauth2 {
credentials_placement: body
credentials_id: credentials
token_placement: header
token_prefix: Bearer
token_header_prefix: Bearer
reuse_token:
}