Google App Engine user authentication - google-app-engine

How can I make people signup using email(not gmail) and login with their emails?
Snapchat, Khan academy and songpop all use google app engine but not gmail as login.
I use google app engine sdk for python. What should I do and where can I find info?

Google provides a built-in User Service for convenience only. You can use any form of authentication on App Engine: your own, Facebook, Twitter, etc.
If you are new to authentication, the best option is to use a package that does all the work for you, like Django Social Auth or Python Social Auth.

Related

User authentication with Servlets on App Engine

I'm new to web dev, and trying to build an application using google app engine's java standard environment, which will require user authentication. I'd like to provide authentication which requires only a username and password of the user, as opposed to a phone number or social account.
As I look through the options listed in app engine's auth tutorial, if I'm understanding them correctly, none of them allow login without a phone number or social account? https://cloud.google.com/appengine/docs/standard/java/oauth/
If so, are there alternatives available while still using app engine? I've read some about 'web container managed authentication' but I'm not sure if its something app engine will support, or if its a full solution.
Is it possible/feasible to roll fully custom authentication in the app engine standard environment? As I search for custom authentication tutorials I see a lot of articles recommending against this, but it's not clear to me what the alternative is.
Thanks for any information
As it's mention on the OpenID Connect documents of Google Cloud, it's important for you and your users security to authenticate using well proven and debugged code. Google offers Firebase Authentication which let's users log in with an Email and password.
If you still want to implement the authorize part on your own, you can use your preferred web framework and probably it will have an authorizing process.
For example, in python you can use Django authorize system to provide users for a custom way to log in.
But, as I said before, I highly recommend you to use the Google APIs for authorizing as they are OpenID certificated.

Authenticating GWT-RPC calls with Google Identity Toolkit for Java

I have a GWT-based app deployed on Google App Engine (Java). The app uses Google Account for authentication as described here: https://cloud.google.com/appengine/docs/java/users/ and uses GWT-RPC for communicating with the backend services. I use GAE's UserService to get the user object (and email ID) in my RemoteServiceServlet.
Now I want to replace Google Account with Google Identity Toolkit (GIT) so that I can offer more login options (Email, Google, Facebook etc.) to my users. I have created a small GAE-based sample application (non-GWT) using GIT and it works well. I used the GitKitClient library for Java to do the OAuth token authentication and get the user profile on the server.
But I'm wondering how GIT would work with GWT-RPC. Would the GAE UserService still work in my RemoteServiceServlet if I switch to GIT for login (instead of Google Account)? Or do I need to do the OAuth token authentication in my RemoteServiceServlet using the GitKitClient as I do in my non-GWT sample app?
I'm very new to GIT and OAuth and would appreciate any help on this matter.
Thanks.
GAE UserService does not recognize the Google Identity Toolkit token. You need to use the Google Identity Toolkit Java library to validate the Google Identity Toolkit token in your RemoteServiceServlet, in the same way as you already implemented in your sample GAE app.

GAE : Yahoo, Google & Facebook login support

Over Google Application Engine, I want to add Yahoo, Google & Facebook login options for the users in my application.
Since Facebook does not support federated login using openid, how could I implement login option for all facebook, yahoo & google using JavaScript in my application?
Is OAuth only way to implement all three facebook, yahoo & google login options?
If Yes, is there any sample code to refer to implement using
a. java script + google cloud endpoints?
b. java servlets?
There are a variety of toolkits out there that should help you; for example, have a look at oauth.io. If you have to roll it yourself, talking to FB/G/Y at the raw HTTP/JSON level is not actually that hard. In the case of Google there’s the Google+ Sign-In widget that is pretty slick, and FB of course has similar stuff.
It’s not java servlet, but in https://code.google.com/p/favcolor-accountchooser/source/browse/rp.rb there’s Ruby source code for doing OAuth authentication to Google, FB, and Microsoft Live (but not Yahoo)

Google App Engine authentication with password

I am really fed up. All I see the Google App Engine tutorial was just making the example on how to authenticate without password. What if I want to authenticate directly from my gmail account, how can I do it???
User the google provided users service which can use your google account for auth.
https://developers.google.com/appengine/docs/python/gettingstarted/usingusers
Google App Engine provides several useful services based on Google infrastructure, accessible by applications using libraries included with the SDK. One such service is the Users service, which lets your application integrate with Google user accounts. With the Users service, your users can use the Google accounts they already have to sign in to your application.

GAE Golang - OAuth and OAuth2?

I'm trying to implement a Google App Engine Go application that will be using OAuth and OAuth2 for users logging in. I'm wondering if it is possible, and if so, how to do it? Can someone provide an example of this?
You can use goauth2 to implement an OAuth2 client on App Engine
You can then log your users with their Google Account by requesting https://www.googleapis.com/auth/userinfo.profile scopes as shown on Using OAuth 2.0 for Login

Resources