diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/shared/oauthlogin/OAuthLogin.java b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/shared/oauthlogin/OAuthLogin.java new file mode 100644 index 00000000000..b38f6b2b039 --- /dev/null +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/shared/oauthlogin/OAuthLogin.java @@ -0,0 +1,156 @@ +package com.sap.sse.security.ui.client.shared.oauthlogin; + +import com.google.gwt.core.client.GWT; +import com.google.gwt.event.dom.client.ClickEvent; +import com.google.gwt.uibinder.client.UiBinder; +import com.google.gwt.uibinder.client.UiField; +import com.google.gwt.uibinder.client.UiHandler; +import com.google.gwt.user.client.Window; +import com.google.gwt.user.client.rpc.AsyncCallback; +import com.google.gwt.user.client.ui.Anchor; +import com.google.gwt.user.client.ui.Composite; +import com.google.gwt.user.client.ui.Widget; +import com.sap.sse.security.ui.oauth.client.CredentialDTO; +import com.sap.sse.security.ui.oauth.client.util.ClientUtils; +import com.sap.sse.security.ui.shared.UserManagementServiceAsync; + +public class OAuthLogin extends Composite { + private static OAuthLoginUiBinder uiBinder = GWT.create(OAuthLoginUiBinder.class); + + interface OAuthLoginUiBinder extends UiBinder { + } + + private static final String SAP_SAILING_OAUTH_WINDOW = "sap_sailing_oauth_verification_window"; + + @UiField Anchor facebookAnchor; + @UiField Anchor googleAnchor; + @UiField Anchor twitterAnchor; + @UiField Anchor linkedinAnchor; + @UiField Anchor yahooAnchor; + @UiField Anchor vimeoAnchor; + @UiField Anchor githubAnchor; + @UiField Anchor instagramAnchor; + @UiField Anchor flickrAnchor; + @UiField Anchor liveAnchor; + @UiField Anchor tumblrAnchor; + @UiField Anchor foursquareAnchor; + + public static OAuthLoginResources images = OAuthLoginResources.INSTANCE; + + private UserManagementServiceAsync userManagementService; + + public OAuthLogin(UserManagementServiceAsync userManagementService) { + this.userManagementService = userManagementService; + + OAuthLoginResources.INSTANCE.css().ensureInjected(); + + initWidget(uiBinder.createAndBindUi(this)); + } + + private void retreiveAndStoreAuthorizationUrl(final int authProvider) { + // String authProviderName = ClientUtils.getAuthProviderName(authProvider); + final String callbackUrl = ClientUtils.getCallbackUrl(); + GWT.log("Getting authorization url"); + final CredentialDTO credential = new CredentialDTO(); + credential.setRedirectUrl(callbackUrl); + credential.setAuthProvider(authProvider); + userManagementService.getAuthorizationUrl(credential, new AsyncCallback() { + @Override + public void onFailure(Throwable caught) { + ClientUtils.handleException(caught); + } + + @Override + public void onSuccess(String result) { + String authorizationUrl = result; + GWT.log("Authorization url: " + authorizationUrl); + + // clear all cookies first + ClientUtils.clearCookies(); + + // save the auth provider to cookie + ClientUtils.saveAuthProvider(authProvider); + + // save the redirect url to a cookie as well + // we need to redirect there after logout + ClientUtils.saveRediretUrl(callbackUrl); + + Window.open(authorizationUrl, SAP_SAILING_OAUTH_WINDOW, "status=no,toolbar=no,location=no,menubar=no,width=640px,height=480px"); +// popupFrame.setUrl(authorizationUrl); +// popupPanel.show(); + } + }); + } + + @UiHandler("facebookAnchor") + void facebookAnchorClicked(ClickEvent event) { + final int authProvider = ClientUtils.getAuthProvider("Facebook"); + retreiveAndStoreAuthorizationUrl(authProvider); + } + + @UiHandler("googleAnchor") + void googleAnchorClicked(ClickEvent event) { + final int authProvider = ClientUtils.getAuthProvider("Google"); + retreiveAndStoreAuthorizationUrl(authProvider); + } + + @UiHandler("twitterAnchor") + void twitterAnchorClicked(ClickEvent event) { + final int authProvider = ClientUtils.getAuthProvider("Twitter"); + retreiveAndStoreAuthorizationUrl(authProvider); + } + + @UiHandler("yahooAnchor") + void yahooAnchorClicked(ClickEvent event) { + final int authProvider = ClientUtils.getAuthProvider("Yahoo!"); + retreiveAndStoreAuthorizationUrl(authProvider); + } + + @UiHandler("linkedinAnchor") + void linkedinAnchorClicked(ClickEvent event) { + final int authProvider = ClientUtils.getAuthProvider("Linkedin"); + retreiveAndStoreAuthorizationUrl(authProvider); + } + + @UiHandler("instagramAnchor") + void instagramAnchorClicked(ClickEvent event) { + final int authProvider = ClientUtils.getAuthProvider("Instagram"); + retreiveAndStoreAuthorizationUrl(authProvider); + } + + @UiHandler("vimeoAnchor") + void vimeoAnchorClicked(ClickEvent event) { + final int authProvider = ClientUtils.getAuthProvider("Vimeo"); + retreiveAndStoreAuthorizationUrl(authProvider); + } + + @UiHandler("githubAnchor") + void githubAnchorClicked(ClickEvent event) { + final int authProvider = ClientUtils.getAuthProvider("github"); + retreiveAndStoreAuthorizationUrl(authProvider); + } + + @UiHandler("flickrAnchor") + void flickrAnchorClicked(ClickEvent event) { + final int authProvider = ClientUtils.getAuthProvider("flickr"); + retreiveAndStoreAuthorizationUrl(authProvider); + } + + @UiHandler("liveAnchor") + void liveAnchorClicked(ClickEvent event) { + final int authProvider = ClientUtils.getAuthProvider("Windows Live"); + retreiveAndStoreAuthorizationUrl(authProvider); + } + + @UiHandler("tumblrAnchor") + void tumblrAnchorClicked(ClickEvent event) { + final int authProvider = ClientUtils.getAuthProvider("tumblr."); + retreiveAndStoreAuthorizationUrl(authProvider); + } + + @UiHandler("foursquareAnchor") + void foursquareAnchorClicked(ClickEvent event) { + final int authProvider = ClientUtils.getAuthProvider("foursquare"); + retreiveAndStoreAuthorizationUrl(authProvider); + } +} diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/shared/oauthlogin/OAuthLogin.ui.xml b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/shared/oauthlogin/OAuthLogin.ui.xml new file mode 100644 index 00000000000..89d9b9fae71 --- /dev/null +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/shared/oauthlogin/OAuthLogin.ui.xml @@ -0,0 +1,47 @@ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/shared/oauthlogin/OAuthLoginResources.css b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/shared/oauthlogin/OAuthLoginResources.css new file mode 100644 index 00000000000..b3e892e2601 --- /dev/null +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/shared/oauthlogin/OAuthLoginResources.css @@ -0,0 +1,7 @@ +.panel { +} + +.oauthLogo { + width: 11px; + height: 11px; +} diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/shared/oauthlogin/OAuthLoginResources.java b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/shared/oauthlogin/OAuthLoginResources.java new file mode 100644 index 00000000000..f1c9db29fc5 --- /dev/null +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/shared/oauthlogin/OAuthLoginResources.java @@ -0,0 +1,59 @@ +package com.sap.sse.security.ui.client.shared.oauthlogin; + +import com.google.gwt.core.client.GWT; +import com.google.gwt.resources.client.ClientBundle; +import com.google.gwt.resources.client.CssResource; +import com.google.gwt.resources.client.ImageResource; + +public interface OAuthLoginResources extends ClientBundle { + public static final OAuthLoginResources INSTANCE = GWT.create(OAuthLoginResources.class); + + @Source("com/sap/sse/security/ui/client/shared/oauthlogin/OAuthLoginResources.css") + LocalCss css(); + + public interface LocalCss extends CssResource { + String oauthLogo(); + } + + @Source("com/sap/sse/security/ui/oauth/images/facebook.png") + public ImageResource facebookIcon(); + + @Source("com/sap/sse/security/ui/oauth/images/flickr.png") + public ImageResource flickrIcon(); + + @Source("com/sap/sse/security/ui/oauth/images/github.png") + public ImageResource githubIcon(); + + @Source("com/sap/sse/security/ui/oauth/images/google.png") + public ImageResource googleIcon(); + + @Source("com/sap/sse/security/ui/oauth/images/linkedin.png") + public ImageResource linkedinIcon(); + + @Source("com/sap/sse/security/ui/oauth/images/twitter.png") + public ImageResource twitterIcon(); + + @Source("com/sap/sse/security/ui/oauth/images/vimeo.png") + public ImageResource vimeoIcon(); + + @Source("com/sap/sse/security/ui/oauth/images/wordpress.png") + public ImageResource wordpressIcon(); + + @Source("com/sap/sse/security/ui/oauth/images/yahoo.png") + public ImageResource yahooIcon(); + + @Source("com/sap/sse/security/ui/oauth/images/instagram.png") + public ImageResource instagramIcon(); + + @Source("com/sap/sse/security/ui/oauth/images/imgur.png") + public ImageResource imgurIcon(); + + @Source("com/sap/sse/security/ui/oauth/images/live32.png") + public ImageResource liveIcon(); + + @Source("com/sap/sse/security/ui/oauth/images/tumblr.png") + public ImageResource tumblrIcon(); + + @Source("com/sap/sse/security/ui/oauth/images/foursquare.png") + public ImageResource foursquareIcon(); +} diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/LoginView.java b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/LoginView.java index 4c9102b94de..8ceba299715 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/LoginView.java +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/LoginView.java @@ -19,10 +19,9 @@ import com.google.gwt.user.client.ui.Widget; import com.sap.sse.gwt.client.async.MarkedAsyncCallback; import com.sap.sse.security.shared.UserManagementException; import com.sap.sse.security.ui.client.EntryPointLinkFactory; -import com.sap.sse.security.ui.client.Resources; import com.sap.sse.security.ui.client.StringMessages; import com.sap.sse.security.ui.client.UserService; -import com.sap.sse.security.ui.oauth.client.component.OAuthLoginPanel; +import com.sap.sse.security.ui.client.shared.oauthlogin.OAuthLogin; import com.sap.sse.security.ui.shared.SuccessInfo; import com.sap.sse.security.ui.shared.UserManagementServiceAsync; @@ -46,12 +45,14 @@ public class LoginView extends Composite { this.userManagementService = userManagementService; this.userService = userService; + LoginViewResources.INSTANCE.css().ensureInjected(); + initWidget(uiBinder.createAndBindUi(this)); String registrationLink = EntryPointLinkFactory.createRegistrationLink(Collections. emptyMap()); signUpAnchor.setHref(registrationLink); - oAuthPanel.add(new OAuthLoginPanel(userManagementService, Resources.INSTANCE.css())); + oAuthPanel.add(new OAuthLogin(userManagementService)); userNameTextBox.setFocus(true); } diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/LoginView.ui.xml b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/LoginView.ui.xml index 2775185ae1f..5058f691617 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/LoginView.ui.xml +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/LoginView.ui.xml @@ -2,15 +2,19 @@ - - -
-
-
-
- - - - + + +
+
+
+
+
+
+ + + + +
+
diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/LoginViewResources.css b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/LoginViewResources.css index c6d69192954..bb4a3625da7 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/LoginViewResources.css +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/LoginViewResources.css @@ -1,4 +1,12 @@ -.centerForm { +.centered { margin: 0 auto; width:60%; } + +.login { + text-align: center; +} + +.form { + border: 1px solid black; +} diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/LoginViewResources.java b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/LoginViewResources.java index d771dc9a8fd..45b03ec99f6 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/LoginViewResources.java +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/LoginViewResources.java @@ -11,6 +11,8 @@ public interface LoginViewResources extends ClientBundle { LocalCss css(); public interface LocalCss extends CssResource { - String centerForm(); + String login(); + String centered(); + String form(); } } diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/loginpanel/LoginPanel.java b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/loginpanel/LoginPanel.java index edc357ba8d0..60e3f27ae0b 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/loginpanel/LoginPanel.java +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/loginpanel/LoginPanel.java @@ -21,7 +21,7 @@ import com.sap.sse.security.ui.client.StringMessages; import com.sap.sse.security.ui.client.UserService; import com.sap.sse.security.ui.client.UserStatusEventHandler; import com.sap.sse.security.ui.client.component.AbstractUserDialog.UserData; -import com.sap.sse.security.ui.oauth.client.component.OAuthLoginPanel; +import com.sap.sse.security.ui.client.shared.oauthlogin.OAuthLogin; import com.sap.sse.security.ui.shared.SuccessInfo; import com.sap.sse.security.ui.shared.UserDTO; import com.sap.sse.security.ui.shared.UserManagementServiceAsync; @@ -38,7 +38,7 @@ public class LoginPanel extends HorizontalPanel implements UserStatusEventHandle private final Anchor signUpLink; private final Label welcomeMessage; - private final OAuthLoginPanel oAuthPanel; + private final OAuthLogin oAuthPanel; public LoginPanel(final Css css, final UserService userService) { this.userManagementService = userService.getUserManagementService(); @@ -118,7 +118,7 @@ public class LoginPanel extends HorizontalPanel implements UserStatusEventHandle add(signInLink); add(signUpLink); add(signOutLink); - oAuthPanel = new OAuthLoginPanel(userManagementService, css); + oAuthPanel = new OAuthLogin(userManagementService); add(oAuthPanel); userService.addUserStatusEventHandler(this); updateStatus(); diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/loginpanel/SignInDialog.java b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/loginpanel/SignInDialog.java index 6cd1bec3241..d7ad7605524 100755 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/loginpanel/SignInDialog.java +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/loginpanel/SignInDialog.java @@ -5,7 +5,7 @@ import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.Widget; import com.sap.sse.security.ui.client.StringMessages; import com.sap.sse.security.ui.client.component.AbstractUserDialog; -import com.sap.sse.security.ui.oauth.client.component.OAuthLoginPanel; +import com.sap.sse.security.ui.client.shared.oauthlogin.OAuthLogin; import com.sap.sse.security.ui.shared.UserManagementServiceAsync; public class SignInDialog extends AbstractUserDialog { @@ -23,7 +23,7 @@ public class SignInDialog extends AbstractUserDialog { result.setWidget(0, 1, getNameBox()); result.setWidget(1, 0, new Label(getStringMessages().password())); result.setWidget(1, 1, getPwBox()); - result.setWidget(2, 0, new OAuthLoginPanel(getUserManagementService(), css)); + result.setWidget(2, 0, new OAuthLogin(getUserManagementService())); return result; } } diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/oauth/client/OAuthLoginEntryPoint.java b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/oauth/client/OAuthLoginEntryPoint.java index 75dc995188c..c70cb8f5b77 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/oauth/client/OAuthLoginEntryPoint.java +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/oauth/client/OAuthLoginEntryPoint.java @@ -14,11 +14,10 @@ import com.google.gwt.user.client.ui.RootPanel; import com.google.gwt.user.client.ui.Widget; import com.sap.sse.gwt.client.EntryPointHelper; import com.sap.sse.security.ui.client.RemoteServiceMappingConstants; -import com.sap.sse.security.ui.client.Resources; import com.sap.sse.security.ui.client.StringMessages; import com.sap.sse.security.ui.client.UserChangeEventHandler; import com.sap.sse.security.ui.client.UserService; -import com.sap.sse.security.ui.oauth.client.component.OAuthLoginPanel; +import com.sap.sse.security.ui.client.shared.oauthlogin.OAuthLogin; import com.sap.sse.security.ui.oauth.client.util.ClientUtils; import com.sap.sse.security.ui.shared.UserDTO; import com.sap.sse.security.ui.shared.UserManagementService; @@ -28,9 +27,8 @@ public class OAuthLoginEntryPoint implements EntryPoint, UserChangeEventHandler private final UserManagementServiceAsync userManagementService = GWT.create(UserManagementService.class); private final StringMessages stringMessages = GWT.create(StringMessages.class); private final UserService userService = new UserService(userManagementService); - private final Resources resources = GWT.create(Resources.class); - private OAuthLoginPanel loginScreen = new OAuthLoginPanel(userManagementService, resources.css()); + private OAuthLogin loginScreen = new OAuthLogin(userManagementService); private FlowPanel content = new FlowPanel(); public void onModuleLoad() { diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/oauth/client/component/OAuthLoginPanel.java b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/oauth/client/component/OAuthLoginPanel.java deleted file mode 100644 index 92a3607a0ac..00000000000 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/oauth/client/component/OAuthLoginPanel.java +++ /dev/null @@ -1,231 +0,0 @@ -package com.sap.sse.security.ui.oauth.client.component; - -import com.google.gwt.core.client.GWT; -import com.google.gwt.event.dom.client.ClickEvent; -import com.google.gwt.event.dom.client.ClickHandler; -import com.google.gwt.user.client.Window; -import com.google.gwt.user.client.rpc.AsyncCallback; -import com.google.gwt.user.client.ui.HorizontalPanel; -import com.google.gwt.user.client.ui.Image; -import com.google.gwt.user.client.ui.Label; -import com.sap.sse.security.ui.client.StringMessages; -import com.sap.sse.security.ui.loginpanel.Css; -import com.sap.sse.security.ui.oauth.client.CredentialDTO; -import com.sap.sse.security.ui.oauth.client.resources.ImageResources; -import com.sap.sse.security.ui.oauth.client.util.ClientUtils; -import com.sap.sse.security.ui.shared.UserManagementServiceAsync; - -public class OAuthLoginPanel extends HorizontalPanel { - private static final StringMessages stringMessages = GWT.create(StringMessages.class); - private static final String SAP_SAILING_OAUTH_WINDOW = "sap_sailing_oauth_verification_window"; - - private Image facebookImage; - private Image googleImage; - private Image twitterImage; - private Image linkedinImage; - private Image yahooImage; - private Image vimeoImage; - private Image githubImage; - private Image instagramImage; - private Image flickrImage; - private Image liveImage; - private Image tumblrImage; - private Image foursquareImage; - - public static ImageResources images = ImageResources.INSTANCE; - - private UserManagementServiceAsync userManagementService; - - public OAuthLoginPanel(UserManagementServiceAsync userManagementService, Css css) { - this.userManagementService = userManagementService; - Label signInWithLabel = new Label(stringMessages.signInWith()); - signInWithLabel.setWordWrap(false); - add(signInWithLabel); - - facebookImage = new Image(images.facebookIconImageData().getSafeUri()); - addProviderImage(facebookImage, "Facebook", css); - - googleImage = new Image(images.googleIconImageData().getSafeUri()); - addProviderImage(googleImage, "Google", css); - - twitterImage = new Image(images.twitterIconImageData().getSafeUri()); - addProviderImage(twitterImage, "Twitter", css); - - yahooImage = new Image(images.yahooIconImageData().getSafeUri()); - addProviderImage(yahooImage, "Yahoo", css); - - linkedinImage = new Image(images.linkedinIconImageData().getSafeUri()); - addProviderImage(linkedinImage, "LinkedIn", css); - - instagramImage = new Image(images.instagramIconImageData().getSafeUri()); - addProviderImage(instagramImage, "Instagram", css); - - vimeoImage = new Image(images.vimeoIconImageData().getSafeUri()); - addProviderImage(vimeoImage, "Vimeo", css); - - githubImage = new Image(images.githubIconImageData().getSafeUri()); - addProviderImage(githubImage, "Github", css); - - flickrImage = new Image(images.flickrIconImageData().getSafeUri()); - addProviderImage(flickrImage, "Flickr", css); - - liveImage = new Image(images.liveIconImageData().getSafeUri()); - addProviderImage(liveImage, "Live", css); - - tumblrImage = new Image(images.tumblrIconImageData().getSafeUri()); - addProviderImage(tumblrImage, "Tumblr", css); - - foursquareImage = new Image(images.foursquareIconImageData().getSafeUri()); - addProviderImage(foursquareImage, "Foursquare", css); - - setupLoginScreenHandlers(); - } - - private void addProviderImage(Image image, String title, Css css) { - image.setHeight("1.5em"); - image.setTitle(title); - image.getElement().addClassName(css.providerIcon()); - add(image); - } - - private void getAuthorizationUrl(final int authProvider) { - // String authProviderName = ClientUtils.getAuthProviderName(authProvider); - final String callbackUrl = ClientUtils.getCallbackUrl(); - GWT.log("Getting authorization url"); - final CredentialDTO credential = new CredentialDTO(); - credential.setRedirectUrl(callbackUrl); - credential.setAuthProvider(authProvider); - userManagementService.getAuthorizationUrl(credential, new AsyncCallback() { - @Override - public void onFailure(Throwable caught) { - ClientUtils.handleException(caught); - } - - @Override - public void onSuccess(String result) { - String authorizationUrl = result; - GWT.log("Authorization url: " + authorizationUrl); - - // clear all cookes first - ClientUtils.clearCookies(); - - // save the auth provider to cookie - ClientUtils.saveAuthProvider(authProvider); - - // save the redirect url to a cookie as well - // we need to redirect there after logout - ClientUtils.saveRediretUrl(callbackUrl); - - // Window.alert("Redirecting to: " + authorizationUrl); - Window.open(authorizationUrl, SAP_SAILING_OAUTH_WINDOW, "status=no,toolbar=no,location=no,menubar=no,width=640px,height=480px"); -// popupFrame.setUrl(authorizationUrl); -// popupPanel.show(); -// openInNewTab(authorizationUrl); - } - }); - } - - public static native String openInNewTab(String url)/*-{ - return $wnd.open(url, - 'target=_blank') - }-*/; - - private void setupLoginScreenHandlers() { - facebookImage.addClickHandler(new ClickHandler() { - @Override - public void onClick(ClickEvent event) { - final int authProvider = ClientUtils.getAuthProvider("Facebook"); - getAuthorizationUrl(authProvider); - } - }); - - googleImage.addClickHandler(new ClickHandler() { - @Override - public void onClick(ClickEvent event) { - final int authProvider = ClientUtils.getAuthProvider("Google"); - getAuthorizationUrl(authProvider); - } - }); - - twitterImage.addClickHandler(new ClickHandler() { - @Override - public void onClick(ClickEvent event) { - final int authProvider = ClientUtils.getAuthProvider("Twitter"); - getAuthorizationUrl(authProvider); - } - }); - - yahooImage.addClickHandler(new ClickHandler() { - @Override - public void onClick(ClickEvent event) { - final int authProvider = ClientUtils.getAuthProvider("Yahoo!"); - getAuthorizationUrl(authProvider); - } - }); - - linkedinImage.addClickHandler(new ClickHandler() { - @Override - public void onClick(ClickEvent event) { - final int authProvider = ClientUtils.getAuthProvider("Linkedin"); - getAuthorizationUrl(authProvider); - } - }); - - instagramImage.addClickHandler(new ClickHandler() { - @Override - public void onClick(ClickEvent event) { - final int authProvider = ClientUtils.getAuthProvider("Instagram"); - getAuthorizationUrl(authProvider); - } - }); - - vimeoImage.addClickHandler(new ClickHandler() { - @Override - public void onClick(ClickEvent event) { - final int authProvider = ClientUtils.getAuthProvider("Vimeo"); - getAuthorizationUrl(authProvider); - } - }); - - githubImage.addClickHandler(new ClickHandler() { - @Override - public void onClick(ClickEvent event) { - final int authProvider = ClientUtils.getAuthProvider("github"); - getAuthorizationUrl(authProvider); - } - }); - - flickrImage.addClickHandler(new ClickHandler() { - @Override - public void onClick(ClickEvent event) { - final int authProvider = ClientUtils.getAuthProvider("flickr"); - getAuthorizationUrl(authProvider); - } - }); - - liveImage.addClickHandler(new ClickHandler() { - @Override - public void onClick(ClickEvent event) { - final int authProvider = ClientUtils.getAuthProvider("Windows Live"); - getAuthorizationUrl(authProvider); - } - }); - - tumblrImage.addClickHandler(new ClickHandler() { - @Override - public void onClick(ClickEvent event) { - final int authProvider = ClientUtils.getAuthProvider("tumblr."); - getAuthorizationUrl(authProvider); - } - }); - - foursquareImage.addClickHandler(new ClickHandler() { - @Override - public void onClick(ClickEvent event) { - final int authProvider = ClientUtils.getAuthProvider("foursquare"); - getAuthorizationUrl(authProvider); - } - }); - - } -} diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/oauth/client/resources/ImageResources.java b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/oauth/client/resources/ImageResources.java deleted file mode 100644 index da1d9d21c94..00000000000 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/oauth/client/resources/ImageResources.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.sap.sse.security.ui.oauth.client.resources; - -import com.google.gwt.core.client.GWT; -import com.google.gwt.resources.client.ClientBundle; -import com.google.gwt.resources.client.DataResource; - -public interface ImageResources extends ClientBundle { - - public static final ImageResources INSTANCE = GWT.create(ImageResources.class); - - @Source("com/sap/sse/security/ui/oauth/images/facebook.png") - public DataResource facebookIconImageData(); - - @Source("com/sap/sse/security/ui/oauth/images/flickr.png") - public DataResource flickrIconImageData(); - - @Source("com/sap/sse/security/ui/oauth/images/github.png") - public DataResource githubIconImageData(); - - @Source("com/sap/sse/security/ui/oauth/images/google.png") - public DataResource googleIconImageData(); - - @Source("com/sap/sse/security/ui/oauth/images/linkedin.png") - public DataResource linkedinIconImageData(); - - @Source("com/sap/sse/security/ui/oauth/images/twitter.png") - public DataResource twitterIconImageData(); - - @Source("com/sap/sse/security/ui/oauth/images/vimeo.png") - public DataResource vimeoIconImageData(); - - @Source("com/sap/sse/security/ui/oauth/images/wordpress.png") - public DataResource wordpressIconImageData(); - - @Source("com/sap/sse/security/ui/oauth/images/yahoo.png") - public DataResource yahooIconImageData(); - - @Source("com/sap/sse/security/ui/oauth/images/instagram.png") - public DataResource instagramIconImageData(); - - @Source("com/sap/sse/security/ui/oauth/images/imgur.png") - public DataResource imgurIconImageData(); - - @Source("com/sap/sse/security/ui/oauth/images/live32.png") - public DataResource liveIconImageData(); - - @Source("com/sap/sse/security/ui/oauth/images/tumblr.png") - public DataResource tumblrIconImageData(); - - @Source("com/sap/sse/security/ui/oauth/images/foursquare.png") - public DataResource foursquareIconImageData(); -}