Expand my Community achievements bar.

JWT to OAuth


Level 1

Received an email stating Adobe is deprecating the Service Account (JWT) credentials in favor of the OAuth Server-to-Server credentials, and that we have a project affected by this and the (JWT) credentials need to be migrated to use the OAuth Server-to-Server credential.


I completed step 1 to add an equivalent OAuth server-to-server credential to my project, then generated a required access token.  However, the application I'm trying to connect to Adobe from is asking for a Private Key.  And I don't see anything under credential details for this.


Where do I find this last piece so I can test?

2 Replies


Level 1

I found out I just need to call ServicePrincipalCredentialsBuilder() instead of ServiceAccountCredentialsBuilder() to use the new OAuth method:


            Credentials credentials = Credentials.ServicePrincipalCredentialsBuilder()

            // Credentials credentials = Credentials.ServiceAccountCredentialsBuilder()
            //     .WithPrivateKey(@"-----BEGIN RSA PRIVATE KEY-----
            //     " + adobeKey + @"
            //     -----END RSA PRIVATE KEY-----")
            //     .WithClientId(ClientID)
            //     .WithClientSecret(ClientSecret)
            //     .WithOrganizationId(OrgID)
            //     .WithAccountId(AccountID)
            //     .Build();



Level 3

Hi @VinceCa3 - 

Since you've haven't shared details on the Application that is asking for Private key I can share generic context - 
We have recently migrated 50+ Adobe IO integrations from JWT credentials to OAuth credentials and noticed that some integrations were configured in developer console to work with third-part Apps (Example Google Search Ads 360 also known as SA360), these integrations are built and maintained by Vendor and can only support OAuth 2.0 credentials once they have this feature/capability released/developed. In these case the dependency is on third-party platform to support new credentials system.