Here goes my question: is there a way to get ChatGPT to obtain and use OpenAI user ids?
context: I’m building a prototype for a “journaling” plugin, which enables ChatGPT to store information long-term. The idea is that each user has a private and permanent journal that ChatGPT can use to make notes. For example:
I’m now trying to add user accounts to this prototype, and would LOVE for ChatGPT to automatically select a user id to pass to the plugin API. I’m trying to prevent having users leave the chat UI to create an account.
The alternative flows I see:
Have a “createUser” endpoint, and have the plugin API return a secret UUID, which the user can paste to future conversations to retrieve their journal entries. This seems clunky but at least keeps users in the chat interface.
Have users create accounts on the plugin’s website, and have them copy a token on plugin install (clunky too, and not recommended by docs)
ChatGPT somehow sends the OpenAI user’s id to the journal plugin API.
Is number 3 possible? planned? is there a good reason for hiding user ids from ChatGPT?
Remember, the idea is to allow users to start new conversations and have ChatGPT get their journal entries fast and securely.
I see this as a very valid need - in many cases we’ll need to know who is requesting information. Cases like Expedia or OpenTable are “open” to the general public, but other applications require access on a per-user basis. I wonder if there will be a way to handle this.
Alternatively, can we call the plugins via API? in that case we would have to create the UI to the chat feature, put it behind a wall (user/password), and at that point we’ll know who’s signed up and the system can grant access to the information that belongs to that user.
You could require an oauth verification of the user and use the UID or token from this to identify users in future sessions. If you need additional information from the user, just prompt them for things like their email and save it to a db with the uid and api, define it as a path: parameter in the specification.yaml
I think at a minimum, having an option like “OpenAI login” would be super helpful. Being able to correctly identify users for Plugins that are exclusively on the ChatGPT platform would be huge.
We need to be able to identify at session level to serve user with stateful service. For example, in EthGPT we want to be able to let user do WalletConnect and they shall be able to preserve session id for this mechanism to work.
Making our own outh for only chat gpt based apps feels clunkier than needed since the user using the app already has a verified account with OpenAI we could leverage for better UX.
Interesting project, I’m always happy to see people help each other
I’ve noticed you posted the same YouTube video a few times over the last 15-20 minutes, consider making a separate topic about your tool, it will make it a lot easier for you to share all the cool stuff it can do, if you post the same link too many times, the one of the bots might mark it as spam
Providing the OpenAI user ID would be real trouble, privacy and even security wise.
However, generating a per-plugin per-user ID on the OpenAI side, that was private to your plugin, would be useful, and reasonably safe!
You’re right. At the moment, implementing the OAuth flow seems to be our best course of action for user authentication. I’m completely on board with your idea of a user/plugin solution - it sounds like a great way to help us as plugin developers easily identify users, improving the overall plugin experience. We should definitely keep this conversation going!