Oauth code redirect flow broken

Noteable dev here, we are seeing similar things with OAuth-enabled “legacy” plugins not working. The first step in the OAuth flow (redirecting user to auth provider) goes smoothly, then the token exchange fails.

In browser network logs, I see a GET to https://chat.openai.com/backend-api/aip/p/plugin-179013de-6465-4e36-8bbd-49e36767e91c/user-settings/oauth/callback has a 500 with payload {"detail":"Error in oauth callback"}. However on our backend I see the token exchange endpoint gave a status 200 with a valid access token / refresh token.

Based on the comment in How to Migrate from ChatGPT Plugins to Actions: Solving OAuth Failures that the new GPT OAuth hard-codes content-type url-form-encoded instead of being set in the ai-plugin.json manifest file (which is application/json for us at Noteable), I’m wondering if the OAuth client code on the OpenAI side is also now hard-coding that content-type for legacy plugins? That is to say, we’re returning JSON in the token exchange like always but OpenAI is failing to parse it?

1 Like