How can I create OAuth based login with Open AI api? - authentication

I'm trying to build an app using GPT3 APIs and would like users to login to the app using OpenAI's credentials so as to use their account for GPT3 APIs requests, however there is no support for 3rd party login so far in Open AI's documentation. Anyone has ideas on how this can be done?

As far as I'm concerned Open ai does not have an oauth API like Google (for example). The only idea that occurs to me is to ask the user for their Open ai Api key and make the requests through that key

Related

Twitter Bot: Get access token for another account without 3-legged OAuth flow?

I am in control of three twitter accounts: One is my main account, the other two are supposed to automatically post content via a bot. I created the bot logic and added it to Twitter's development tools and I can easily use it to post to my main account.
Now I need to add the access tokens for my two secondary accounts. My question is - what's the easiest way to do this.
As far as I can see, Twitter only enables one way to do this: 3-legged OAuth flow. It is not too complex, but it seems to me to require setting up a mock website with callback url, which seems like too much considering I only need to generate two api tokens. Am I missing something?
There are some alternative ways to generate access token and access token secret for OAuth 1.0A via command line tools which allow you to use the “PIN-based” OAuth flow.
One example would be Twitter’s own twurl tool for API testing, which requires you to also have Ruby installed. This will let you authenticate a user account (it still pops open a window onto twitter.com to have you do the authentication) and stores them into the ~/.twurlrc file in your home directory. There is also tw-oob-oauth-cli which is a standalone app for doing the same thing.
You're not missing something. The reason this is required is to force users have a browser they trust open and see that they are on https://twitter.com/, so they can trust that it's a safe place to put in their password.

Google Photos REST API with Angular/Java/dotNet

I am trying to connect to google photo in angular and been searching since last two days about google photos REST api but couldn't find any useful example.
Could somebody help me with this on how to use google photos api in angular. an example would be great if I get it working I will creating sample and put it on github or others to look at.
Another thing I am trying is to connect api without any user interaction. I have tried playgrounds but its prompting to authorize access as well. Idea is to build ionic app that can connect to my google photos without needing me to authenticate access to it with my id and secret.
my app would be in angular(ionic) or java(android) so would prefer example (if any) in those platform but ok with dotnet or php as well. Won't be able to use library in dotnet or php.
Thanks
Bhavesh

How to tie an account from a backend server to a google assistant user

I have a web application setup to handle webhook requests from an Actions-on-Google/Dialogflow application using the Google Assistant. Users don't need to sign-in to a google account in order to use my web application and I'd prefer to keep it that way, so that users can sign in with any email address.
I also want my users to be able to interact with my application using the Google Assistant, and be able to access personal/contextual data via the assistant (i.e. when a speaker says, "what's on my shopping list", the web app needs to be able to know what my means).
Currently, I have this working by using my web app to issue a unique short code to my user (in the web app UI) and then with an intent on the Assistant where the speaker says "My code is 1-2-3-4" and then my web app can identify the user from then on (by saving the userId from the webhook request to whatever user got the short code 1234 and then using that userId to lookup the user on each subsequent request.)
My question is, is there a better way to do this? Ideally, in my web app, I'd like to have something like an "Authorize Google Assistant" button, which would then link the user's google account to their web-app account, so that the conversation on the Assistant is seamless.
Has anyone done this before?
Thanks
This is the perfect use case for Account Linking with the Google Assistant.
From your users' perspective, they will start to use your Action. If they're doing so through a speaker and they haven't linked the account yet, they'll be directed to a mobile device to do so. On a mobile device, they'll be redirected to a page on your website where they will been to authenticate themselves and authorize your server to let them in through the Assistant. Once they have done so, they won't need to log in again, the accounts will be linked, and they'll be able to use the voice Action without further obstruction.
From your perspective as a developer, you'll need to setup an OAuth2 server (I suggest the code flow). That login process I mentioned is the first step in the OAuth dance, and will end up with you issuing a code to Google. They will then exchange this code for an Auth Token (with a limited lifetime) and a Refresh Token (which does not expire). They will periodically use the Refresh Token to get new, valid, Auth Tokens for this user. When the user issues a voice command, the Auth Token will be passed as a field in the JSON to your fulfillment server, and you can use this to verify who the user is and that they are authorized to use your service.

Google Authentication via PHP Client Library/oAuth2

I have searched long and far for this on Google Identity documentation but my question seems to be out of it's scope (https://developers.google.com/identity/protocols/OAuth2).
This is what I have:
I have an app that is using Google's PHP Client library to authenticate a user via oAuth2. My application stores the retrieved token & refresh token from a user. I am able to use this token and refresh token to pull in information from various Google API's (Drive, Calendar, Mail, etc). I am also storing a cookie in browser to keep the user logged in to the application when the user closes the browser. I have created a simple way for users to login to the application via a QR code that matches up their stored token and refresh token. After the first login they are able to simply use a badge to login to the application.
This is what I want but don't know how to do
When a user logs into the application with their QR badge everything work perfectly (I am still able to pull in anything via the PHP Client Library/Google API's), however when a user goes to Gmail, Drive, or other Google service, Google is asking them to login (it's because they are not technically authenticated with accounts.google.com (only my application)). Is there a way to programmatically authenticate a user to accounts.google.com via a stored token/refresh token?
I was searching for a proper way to implement authentication of users with Google accounts into an app I'm developing. One thing led to another and I found this:
https://github.com/thephpleague/oauth2-google
They have a few implementations depending on how you may wish to implement OAuth2 (via separate repositories). I believe this directly answers your question, albeit 3.4 years later. Hopefully it will help someone else who is looking for this info.

Google Reader Feed Import

I'm working on a social RSS reader website, and with the news that Google Reader is shutting down, we'd like to capitalize on that by providing a feature for users to automatically import their Google Reader feeds in the same way that they might import contacts. I can't seem to find a good API for this.
The one solution I found, sending a request to http://www.google.com/reader/api/0/subscription/list, doesn't work, because we have to be authenticated to receive results. This means that either the user sends their google accounts password to us, obviously unacceptable, or we do the request client side. However, that API doesn't seem to support jsonp, and so we're unable to do a cross-site query.
Does anyone have any suggestions or links I've overlooked?
I am working on similar feature for my app, and i got the list of all the subscriptions (using the following URL) making a GET call with the access_token obtained via authenticating user using OAuth 2.0 for google reader API.
https://www.google.com/reader/api/0/subscription/list?output=json&access_token=USER_ACCESS_TOKEN
You can use OAuth so that users give you permission to execute that server side request on behalf of them.
If you are developing with Java you can use readr (a Google Reader client I have developed).