Hey List,
Google Sign-In is now available as part of Wonder.
If you have a WO application with users and email addresses, using Google Sign-In for authentication is as easy as:
2. Add a ERGoogleLoginForm to your login page: <wo:ERGoogleLoginForm error = "$errorMessage" />
3. Add a login direct action:
public WOActionResults googleLoginAction() {
String token = request().stringFormValueForKey("authToken");
Session session = (Session) session();
User user = User.validateForGoogleToken(session.defaultEditingContext(), token);
if (user != null) {
session.setUser(user);
return loggedInPage(session);
}
Main result = pageWithName(Main.class);
result.setErrorMessage("Invalid Google User");
return result;
}
4. Add a User validation method:
public static User validateForGoogleToken(EOEditingContext editingContext, String googleToken) {
if (googleToken == null) {
throw new NullArgumentException("googleToken may not be null");
}
try {
Payload payload = ERGoogleSignInUtilities.payloadFromToken(googleToken);
return User.fetchRequiredUser(editingContext,
EMAIL.is(payload.getEmail()));
}
catch (Exception e) {
return null;
}
}
5. Add a ERGoogleLogoutLink to your logged in page: <wo: ERGoogleLogoutLink action = “$logout" />
That is it!
Documentation is here:
Special thanks to Taylor Hadden who actually wrote the code.
Steve
On Apr 11, 2017, at 8:59 PM, Aaron Rosenzweig <
email@hidden> wrote:
Sounds cool Steve. Thank you :-)
On Apr 11, 2017, at 2:53 PM, Steve Peery <
email@hidden> wrote:
Hi List,
Would it be helpful to others to have this added to Wonder?
Steve Peery
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden