@@ -512,17 +512,19 @@ function transformRuntime (runtime) {
512512}
513513
514514/**
515- * Gets the service credential from the credentials.
515+ * Gets the service credential from the credentials in the Console file .
516516 *
517517 * This is different if Jwt or OAuth Server to Server is available, and whether
518518 * there is a migration going on from Jwt -> OAuth Server to Server.
519519 *
520520 * @private
521521 * @param {object } credentials all the credentials for the workspace
522- * @param {boolean } useJwt prefer jwt, if available.
523- * @returns {object } the service credential object
522+ * @param {object } options
523+ * @param {boolean } options.useJwt prefer jwt, if available.
524+ * @param {boolean } options.forceOauthS2S force oauth_server_to_server credential or undefined
525+ * @returns {object|undefined } the service credential object
524526 */
525- function getServiceCredential ( credentials , imsOrgId , useJwt ) {
527+ function getServiceCredential ( credentials , imsOrgId , { useJwt = false , forceOauthS2S = false } ) {
526528 // find jwt / oauth_server_to_server credential
527529 const jwtCredential = credentials . find ( credential => typeof credential . jwt === 'object' )
528530 const oauthS2SCredential = credentials . find ( credential => typeof credential . oauth_server_to_server === 'object' )
@@ -538,6 +540,10 @@ function getServiceCredential (credentials, imsOrgId, useJwt) {
538540 oauthS2SCredential . oauth_server_to_server . ims_org_id = imsOrgId
539541 }
540542
543+ if ( forceOauthS2S ) {
544+ return oauthS2SCredential // force undefined if oauthS2SCredentials is not found
545+ }
546+
541547 if ( jwtCredential && oauthS2SCredential ) {
542548 if ( useJwt ) {
543549 return jwtCredential . jwt
@@ -584,7 +590,7 @@ function getServiceCredential (credentials, imsOrgId, useJwt) {
584590 */
585591function transformCredentials ( credentials , imsOrgId , useJwt ) {
586592 // get jwt / oauth_server_to_server credential
587- const serviceCredential = getServiceCredential ( credentials , imsOrgId , useJwt )
593+ const serviceCredential = getServiceCredential ( credentials , imsOrgId , { useJwt } )
588594
589595 return credentials . reduce ( ( acc , credential ) => {
590596 // the json schema enforces for oauth2 OR apiKey OR jwt OR oauth_server_to_server in a credential
@@ -736,6 +742,7 @@ const getProjectCredentialType = (projectConfig, flags) => {
736742
737743module . exports = {
738744 getServiceApiKey,
745+ getServiceCredential,
739746 writeFile,
740747 loadConfigFile,
741748 loadAndValidateConfigFile,
0 commit comments