001
014
015 package com.liferay.portal.security.sso;
016
017 import aQute.bnd.annotation.ProviderType;
018
019 import com.liferay.portal.kernel.security.sso.OpenSSO;
020 import com.liferay.registry.Registry;
021 import com.liferay.registry.RegistryUtil;
022 import com.liferay.registry.ServiceTracker;
023
024 import java.io.IOException;
025
026 import java.util.Map;
027
028 import javax.servlet.http.HttpServletRequest;
029
030
039 @ProviderType
040 public class OpenSSOUtil {
041
042 public static Map<String, String> getAttributes(
043 HttpServletRequest request, String serviceUrl) {
044
045 return _getOpenSSO().getAttributes(request, serviceUrl);
046 }
047
048 public static String getSubjectId(
049 HttpServletRequest request, String serviceUrl) {
050
051 return _getOpenSSO().getSubjectId(request, serviceUrl);
052 }
053
054 public static boolean isAuthenticated(
055 HttpServletRequest request, String serviceUrl)
056 throws IOException {
057
058 return _getOpenSSO().isAuthenticated(request, serviceUrl);
059 }
060
061 public static boolean isValidServiceUrl(String serviceUrl) {
062 return _getOpenSSO().isValidServiceUrl(serviceUrl);
063 }
064
065 public static boolean isValidUrl(String url) {
066 return _getOpenSSO().isValidUrl(url);
067 }
068
069 public static boolean isValidUrls(String[] urls) {
070 return _getOpenSSO().isValidUrls(urls);
071 }
072
073 private static OpenSSO _getOpenSSO() {
074 return _instance._serviceTracker.getService();
075 }
076
077 private OpenSSOUtil() {
078 Registry registry = RegistryUtil.getRegistry();
079
080 _serviceTracker = registry.trackServices(OpenSSO.class);
081
082 _serviceTracker.open();
083 }
084
085 private static final OpenSSOUtil _instance = new OpenSSOUtil();
086
087 private final ServiceTracker<OpenSSO, OpenSSO> _serviceTracker;
088
089 }