gluu
公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.gluu.oxtrust.util.RecaptchaUtil クラス
org.gluu.oxtrust.util.RecaptchaUtil 連携図
Collaboration graph

公開メンバ関数

boolean verifyGoogleRecaptchaFromServletContext (String secretKey)
 
boolean verify (String response, String secretKey)
 
boolean isCaptchaValid (String secretKey, String response)
 
boolean verifyGoogleRecaptcha (String gRecaptchaResponse, String secretKey)
 

非公開変数類

Logger log
 
ExternalContext externalContext
 

詳解

User: Dejan Maric

関数詳解

◆ isCaptchaValid()

boolean org.gluu.oxtrust.util.RecaptchaUtil.isCaptchaValid ( String  secretKey,
String  response 
)
inline
61  {
62  try {
63  String url = "https://www.google.com/recaptcha/api/siteverify?" + "secret=" + secretKey + "&response="
64  + response;
65  InputStream res = new URL(url).openStream();
66  BufferedReader rd = new BufferedReader(new InputStreamReader(res, Charset.forName("UTF-8")));
67  StringBuilder sb = new StringBuilder();
68  int cp;
69  while ((cp = rd.read()) != -1) {
70  sb.append((char) cp);
71  }
72  String jsonText = sb.toString();
73  res.close();
74  JSONObject json = new JSONObject(jsonText);
75  return json.getBoolean("success");
76  } catch (Exception e) {
77  return false;
78  }
79  }

◆ verify()

boolean org.gluu.oxtrust.util.RecaptchaUtil.verify ( String  response,
String  secretKey 
)
inline
54  {
55  if (StringHelper.isNotEmpty(response)) {
56  return verifyGoogleRecaptcha(response, secretKey);
57  }
58  return false;
59  }
boolean verifyGoogleRecaptcha(String gRecaptchaResponse, String secretKey)
Definition: RecaptchaUtil.java:81

◆ verifyGoogleRecaptcha()

boolean org.gluu.oxtrust.util.RecaptchaUtil.verifyGoogleRecaptcha ( String  gRecaptchaResponse,
String  secretKey 
)
inline
81  {
82  boolean result = false;
83  try {
84  ClientRequest request = new ClientRequest("https://www.google.com/recaptcha/api/siteverify");
85  request.formParameter("secret", secretKey);
86  request.formParameter("response", gRecaptchaResponse);
87  request.accept("application/json");
88 
89  ClientResponse<String> response = request.post(String.class);
90 
91  ObjectMapper mapper = new ObjectMapper();
92  Map<String, String> map = mapper.readValue(new ByteArrayInputStream(response.getEntity().getBytes()),
93  new TypeReference<Map<String, String>>() {
94  });
95 
96  return Boolean.parseBoolean(map.get("success"));
97  } catch (Exception e) {
98  log.error("Exception happened while verifying recaptcha ", e);
99  return result;
100  }
101  }
Logger log
Definition: RecaptchaUtil.java:39

◆ verifyGoogleRecaptchaFromServletContext()

boolean org.gluu.oxtrust.util.RecaptchaUtil.verifyGoogleRecaptchaFromServletContext ( String  secretKey)
inline
44  {
45  HttpServletRequest httpServletRequest = (HttpServletRequest) externalContext.getRequest();
46  String gRecaptchaResponse = httpServletRequest.getParameter("g-recaptcha-response");
47  if (StringHelper.isNotEmpty(gRecaptchaResponse)) {
48  return verifyGoogleRecaptcha(gRecaptchaResponse, secretKey);
49  }
50 
51  return false;
52  }
ExternalContext externalContext
Definition: RecaptchaUtil.java:42
boolean verifyGoogleRecaptcha(String gRecaptchaResponse, String secretKey)
Definition: RecaptchaUtil.java:81

メンバ詳解

◆ externalContext

ExternalContext org.gluu.oxtrust.util.RecaptchaUtil.externalContext
private

◆ log

Logger org.gluu.oxtrust.util.RecaptchaUtil.log
private

このクラス詳解は次のファイルから抽出されました: