1
22
23 package com.liferay.portal.util;
24
25 import com.liferay.portal.PortalException;
26 import com.liferay.portal.SystemException;
27 import com.liferay.portal.kernel.util.StringPool;
28 import com.liferay.portal.kernel.util.StringUtil;
29 import com.liferay.util.Http;
30
31 import org.apache.commons.logging.Log;
32 import org.apache.commons.logging.LogFactory;
33
34 import org.openid4java.consumer.ConsumerException;
35 import org.openid4java.consumer.ConsumerManager;
36 import org.openid4java.consumer.InMemoryConsumerAssociationStore;
37 import org.openid4java.consumer.InMemoryNonceVerifier;
38
39
44 public class OpenIdUtil {
45
46 public static ConsumerManager getConsumerManager() {
47 return _instance._manager;
48 }
49
50 public static String getScreenName(String openId) {
51 String result = openId;
52
53 if (result.startsWith(Http.HTTP_WITH_SLASH)) {
54 result = result.substring(Http.HTTP_WITH_SLASH.length());
55 }
56
57 if (result.endsWith(StringPool.SLASH)) {
58 result = result.substring(0, result.length() - 1);
59 }
60
61 result = StringUtil.replace(
62 result,
63 new String[] {StringPool.SLASH, StringPool.UNDERLINE},
64 new String[] {StringPool.PERIOD, StringPool.PERIOD});
65
66 return result;
67 }
68
69 public static boolean isEnabled(long companyId)
70 throws PortalException, SystemException {
71
72 return PrefsPropsUtil.getBoolean(
73 companyId, PropsUtil.OPEN_ID_AUTH_ENABLED);
74 }
75
76 private OpenIdUtil() {
77 try {
78 _manager = new ConsumerManager();
79
80 _manager.setAssociations(new InMemoryConsumerAssociationStore());
81 _manager.setNonceVerifier(new InMemoryNonceVerifier(5000));
82 }
83 catch (ConsumerException ce) {
84 _log.error(ce.getMessage());
85 }
86 }
87
88 private static Log _log = LogFactory.getLog(OpenIdUtil.class);
89
90 private static OpenIdUtil _instance = new OpenIdUtil();
91
92 private ConsumerManager _manager;
93
94 }