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
|