Change Gmail API Name on Login Screen - api

I made a script using Gmail API to get list of contacts. The script working fine but I want to make it more better as for now, when Login POPUP of Gmail is opened it displays this
xxxxxxxxxx.apps.googleusercontent.com is requesting permission to:
Manage your contacts
Where xxxxxxxxxx is my Client ID. I dont want it to be shown. I want to display my API Project Name here like this
"My API Name" is requesting permission to:
Manage your contacts
Is this even possible to do this? If yes then how?
Thanks

Perhaps try this out:
Search for "Google API Console" in the browser.
On the API console page, on the left hand side menu bar, under "APIs & auth", click on "Consent Screen". Setup project name, upload logo, etc.
See if this helps.
I also seem to remember that during oAuth, you need to pass Application Name (which can be the same as Product Name found in Consent Screen option at step 2 above.

Related

How does Redfin auto-detect my Google Accounts and Prompts me to sign-in with Google?

I have regular "Login with Google" oAuth implemented (screenshot 1 below...you know, where you click a link, and are taken to a page or modal with a "Sign up with Google" button)
But I would like to do what Redfin is doing (Screenshot 2 below).
How does Redfin auto-detect all of my Google accounts and show a tiny box at the top right as soon as I go to redfin.com?
Is there an API or some way to do this?
This is done with a service called Google Yolo in combination with Google Smartlock. You need to include some javascript and pass a javascript callback to it that handles the login for you.
Example: https://github.com/zapier/google-yolo-inline/blob/master/google-yolo-iframe.html
Note: Looks like Chrome's the only browser being supported.

Manually approving the account in shopify after registration

Whenever the user register on my Shopify website i want that account to be disabled until admin enable it from back-end panel. Currently when user is registered, his account is enabled by default.
Have searched various forums even tried Shopify support but still no luck.
There are two options. why you are not putting "request membership" sign up form instead of sign in form (disable from here)? You could use the contact page for that if you wanted. Then you get an email when they fill that out. You would create the account (just copy and paste the info) and email them an invitation. They click the link in the invite to make the password. (I think it will be a tedious task for you)
Otherwise, let them create the account, but hide the pages with the Locksmith app. Then after you approve them you would apply a "tag" to the customer account so they can see the pages and products locked with Locksmith.

Showing file selection UI : Integrating Dropbox with OAuth 2

I am trying to create a web page which will allow my user to upload a file to my S3 storage. For choosing the file user can use Google Drive, Dropbox and also local system. Am facing issues while implementing the Dropbox part of this.
Am using this technique for integration(using core API and OAuth 2).
First when user chooses Dropbox i am opening an HTML page in an IFrame. Here I have an authorize button which will open the authorize endpoint mentioned in the above link. This link shows me X-FRAME-Options error inside the Iframe so i had to open this link as a popup to work.
Is there a way around this? I'd like the authorize URL to open in the same iframe by using location.href.
Also when i open it as a popup, after the user logs in successfully the redirect_uri which i pass i getting opened in the popup. I had to do some unconventional setInterval coding to go around this. Can someone suggest a solution for this as well?
I also tried using CSRF tokens as mentioned in Smarx's blog but this also gives me the same error.
EDIT :
#smarx i tried using dropbox.js and it works fine. Stuck at one place
I used the OAuth popup driver and have a button which says sign-in.
First on load i create the client and then the popup driver as below
client = new Dropbox.Client({ key: client_id });
client.authDriver(new Dropbox.AuthDriver.Popup({
receiverUrl: "http://localhost/uploadCare/dbcallback.html"
});
);
And in the call back html i am writing
Dropbox.AuthDriver.Popup.oauthReceiver()
as mentioned in the docs.
But this does not take me back to the original page and show me the list of files.
I particularly did not understand this part of the explanation
"To use the popup driver, create a page on your site that contains the receiver code, change the code to reflect the location of dropbox.js on your site, and point the Dropbox.AuthDriver.Popup constructor to it."
Could you please help me out here.
You definitely can't put dropbox.com into an iframe, for security reasons (e.g. clickjacking).
A few suggestions:
Can you just use the Chooser for your use case? That would certainly be easier for you and your users.
If you can't use the Chooser, is there a reason you're not using dropbox.js? It has a popup auth driver that will pretty much just take care of all this for you. The redirect will definitely happen in the same window as auth, so communication between the windows (usually via localStorage) is generally necessary. This is already done in dropbox.js.

Add a Sign in portlet on the login page

I am building a basic login page using the existing sign-in portlet.
I just want to have a functionality that when a user access the website, right now localhost:8080, the sign-in portlet should pop up!
Is this doable? If so, Can someone please hint me how this can be done?
This is how the default page looks like right now:
To log in, I have to explicitely click on the "sign-in" blue button and then it pops out a modal sign in portlet.
But what I am trying to do here is:
Whenever a user clicks on the default url, it should immediately ask the user to login rather than showing a blank page with a sign-in button (something like the output image)
Or even a modal sign-in box (Whatever is easy to customize.)
and
Whenever a user hits any other url for eg. localhost:8080/web/project1/home and if the user is not signed in, it should force him to sign in first.
Two possibilities out of the box:
place nothing but the sign in portlet on the homepage, appearing at that location (typically /web/guest/home)
protect your default page to be not visible to the guest user (this will automatically forward to the sign-in portlet) - see the "Permissions" button on the "Manage Pages" interface
There are more, but these seem to be the first and most obvious ones. Let me know if one of them works for you or what the reason for your request is
From what I understand, you want the Login Portlet to popup as a modal window/lightbox on the current page (i.e. without leaving the page). AFAIK, to achieve this, you'll have to develop all your portlets to use AJAX to create links that point protected resources. So when you get an unauthenticated request, you can stay on the same page and show login dialog.
This is high-level approach. You'll need to 1) embed the Login portlet in your theme and 2) put the below javascript functionality in Theme:
callback function - to handle response for unauthenticated request,
to render modal/lightbox
You might face surprises while implementing this.

Auth dialog asks for extended permissions, but my app doesn't need them. How do I prevent the auth dialog from showing the second page?

I set up an app to allow users to log into my site using Facebook. When users click the FB login button, the expected auth dialog appears. My auth dialog shows a second page which says: "This app may post on your behalf, including status updates, photos and more."
But my app doesn't need any extended permissions, and will not be posting anything to Facebook. I don't want this second page to appear, but I can't figure out how to make it go away.
On my app's settings page, I didn't specify any extended permissions. Is there someplace else I have to specify that I don't want extended permissions?
Thanks for the help.
You might have specified a scope in the "Login with Facebook" button that requests these permissions from the user. Especially if you just copy-and-pasted an example from the documentation, this might have happened.
Check in your HTML whether you have something similar to this:
<div class="fb-login-button" scope="publish_stream">
Login with Facebook
</div>
If so, make sure to get rid of the scope attribute.