While working with Google Action Console OAuth, it was rejected for the following reasons - google-oauth

While working with Google Action Console OAuth, it was rejected for the following reasons.
please, Help me.

Based on the line, "We couldn't find account creation/linking prompt", I'm guessing your OAuth page didn't have a "Create an account" link.
If you're telling them you want users to use your website to create accounts, users need to be made aware how to do that.
If you already have that, add "users can create an account on our OAuth page by clicking [Create an account]" (or however you say it) to your Testing Instructions and resubmit.

Related

Is login hint available under the new Google Identity Services library?

I'm making an app that connects to a google calender.
I would like make the "sign-up with google" and "authorize to access
calender" flow as seamless as possible.
My understanding is that this can be done with "login hints":
From the docs at https://developers.google.com/identity/oauth2/web/guides/how-user-authz-works
Adding a hint during authorization initialization--typically the email address of the user's Google Account--enables Google to skip the display of an account chooser, saving users a step. The ID Token credential returned by Sign In With Google contains the user's email address.
From past issues and digging around in the source, it looks I can run the "sign in with google" flow, and then pass an email from that to the authorisation flow like so:
This does redirect to a link with "login_hint=EMAIL_FROM_LOGIN_FLOW", but still displays the account selection.
Am I doing something wrong, or is this feature not yet supported in the new library?

How do you enable token refresh in Google Actions?

Successfully implemented OAuth flow within Google Actions context via account linking. However, after token expiration, it asks for user to link the account. Is there a configuration in Google Actions for token auto-refresh in this context so that the user is not re-prompted to link account after doing so already?
There are multiple problems with the app, to the point I'm a little surprised it got approved.
The first is that if you're using https://stackoverflow.com/a/44296039/1204142, then you should look at the update which indicates that Google is no longer allowing their endpoints to be used for account linking. This may explain why the card doesn't go away. Since it didn't prompt me for scopes after I authenticated myself... I'm not actually sure what it thinks it's doing.
But some code must have been sent, since the Assistant thinks we're linked. Even if the card doesn't go away.
However, when I connect, it prompts me with
OK, would you like anything else?
for the initial prompt. Which doesn't make sense in this context. But if I say "yes" it says
Sorry, I don't understand what you're asking. Say "help" to know how I can assist you.
If I ask for help, it says
Here's how piggy piggy can help.
and then leaves the mic open without saying anything further.
Your server can send an error code that will tell Google's OAuth server to send a request for a new access token using their refresh token.

Confused about Salesforce logins, developer vs. normal account, linking, etc

I'm a developer, and not in Sales.
I signed up for a free developer account, which has access to mock data:
Username: my.name#company.com
Email: my.name#company.com
I'll call this the "dev account"
Later I wanted to access to our company's actual customers, just to look around. Our admin gave me a different, regular login (she said it complained when she tried to use my existing email). That account is:
Username: othername#company.com
Email: my.name#company.com
I'll call this the "user account"
You'll notice the username is different, though the email comes to the same place.
I've been working with the dummy data that comes with the developer account. Now I'd like to access some of our real data via the REST API. It's not clear how I'd do that, and I don't want to blindly experiment and get into some type of weird state.
When I'm logged in as the "user account", and then access the developer website, it wants me to create another developer account. I'm not sure that's right. Also, the "Email" field would be the same as both my current "user account" and "developer account".
So how do I go from being a regular user to a developer against my company's actual data? Ideas I had:
Somehow link my existing "dev account" with my "user account" ? Not sure if I'd do this, or if it's something our admin would need to do?
Or maybe create a second developer account, having already been logged in as my "user account", and it will somehow magically associate them? It says "Select a unique username", but I already have 2 (old dev account, and new user account). I don't want to experiment and make things worse.
Some other way to do this?
Can I even create another developer account with the same email? Won't it complain?
I did do some google searches, but somehow I'm not hitting the right keywords. This seems like a basic thing that many folks would have to do at some point.
An aside: It's odd that it wants my zip code. Not sure if that's my home or work zip, and what if the office or my address changes? (actually likely) Most online services don't care about that...
You don't mention how you're accessing your data from the developer account, but somewhere you are authenticating (either via OAuth,or via a soap login call) simply change this to provide your user account credentials and you should be good to go.
You don't need to have a matching account on the developer website to make API calls, or link your developer & user accounts.

Account selection is not presented when using gapi.auth.signin

Our application is using gapi.auth.signin for authentication. The problem is that the account selection drop down list is not presented when user is logged into multiple accounts. Currently, to overcome this the app sets approvalprompt = force, cookiepolicy = url/single_host_origin. Obviously, this is not very efficient.
Is it possible to display multi-user selection drop down list when using gapi.auth.signin?
Shall gapi.auth.authorize be used instead? (Related question)
Thank you.
Google+ Sign-In uses a mechanism that detects when a user has already authorized a Google account. In order to prompt the user to sign in and not automatically sign the user in, you can call gapi.auth.signout from the JavaScript client as demonstrated here:
http://wheresgus.com/signindemo
However, on Sign in, the currently active Google account will be automatically signed in. Please comment on the Google+ issue tracker, this might be a bug.

twitter share url forgeting the tweet content after login

I'm trying to add a "share via twitter" link to our website. I'm aware of the standard http://twitter.com/home?status=TWEET method, and it works good enough for my purposes when the user is logged in to twitter already.
If, however, the user is not logged in, twitter displays the login form first (which is only reasonable). After the login, the home screen is displayed without the tweet content.
Am I missing something obvious, or is this a know flaw in this method? If so, what is the easiest way (apart from using services like TweetMeme, which I noticed asks for login in advance) to make the share button work as expected?
If the user is not signed in when accessing http://twitter.com/home?status=TWEET it seems that the status is indeed forgotten. This would be a Twitter website issue and not something you're doing wrong.
Update: Use this URL instead: http://twitter.com/intent/tweet?text=TWEET
TweetMeme, on the other hand, uses its own Twitter "application" via the OAuth authentication, requiring users to log in before retweeting using TweetMeme, and is smart enough to include the tweet message in the OAuth callback URL so that it's not forgotten.
So really, you can:
Use TweetMeme, where the user would have to log in, but at least have the tweet be remembered once that's done;
Create your own Twitter application that uses the same tweeting functionality as TweetMeme; or
Use Twitter.com's less-than-desirable status updater and hope the user is logged in, or hope that they're smart enough to click the back button a couple times and click on your link again if needed.
Just use the following url and parameters
http://twitter.com/share?text=YOUR-TEXT&url=YOUR-URL
Then it works.