Commit c83e45e8 authored by Van's avatar Van

Merge remote-tracking branch 'origin/3.1.0-dev' into 3.1.0-dev

parents 7f04e27b 61629ab5
......@@ -22,11 +22,16 @@ package org.b3log.solo.model;
*
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @author <a href="https://hacpai.com/member/e">Dongxu Wang</a>
* @version 1.7.0.2, Feb 11, 2019
* @version 1.7.0.3, Feb 27, 2019
* @since 0.3.1
*/
public final class Common {
/**
* Key of URL.
*/
public static final String URL = "url";
/**
* Key of referer.
*/
......
......@@ -34,7 +34,6 @@ import org.b3log.latke.servlet.annotation.RequestProcessing;
import org.b3log.latke.servlet.annotation.RequestProcessor;
import org.b3log.latke.util.Requests;
import org.b3log.latke.util.URLs;
import org.b3log.solo.model.Common;
import org.b3log.solo.model.Option;
import org.b3log.solo.model.UserExt;
import org.b3log.solo.service.*;
......@@ -48,23 +47,23 @@ import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
* OAuth GitHub processor.
* OAuth processor.
* <ul>
* <li>Redirects to GitHub auth page (/oauth/github/redirect), GET</li>
* <li>GitHub callback (/oauth/github), GET</li>
* <li>Redirects to auth page (/oauth/github/redirect), GET</li>
* <li>OAuth callback (/oauth/github), GET</li>
* </ul>
*
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.0.0.4, Feb 15, 2019
* @version 1.0.0.5, Feb 27, 2019
* @since 2.9.5
*/
@RequestProcessor
public class OAuthGitHubProcessor {
public class OAuthProcessor {
/**
* Logger.
*/
private static final Logger LOGGER = Logger.getLogger(OAuthGitHubProcessor.class);
private static final Logger LOGGER = Logger.getLogger(OAuthProcessor.class);
/**
* OAuth parameters - state.
......@@ -120,7 +119,7 @@ public class OAuthGitHubProcessor {
*/
@RequestProcessing(value = "/oauth/github/redirect", method = HttpMethod.GET)
public void redirectGitHub(final RequestContext context) {
final HttpResponse res = HttpRequest.get("https://hacpai.com/oauth/solo/client").trustAllCerts(true).
final HttpResponse res = HttpRequest.get("https://hacpai.com/oauth/solo/client2").trustAllCerts(true).
connectionTimeout(3000).timeout(7000).header("User-Agent", Solos.USER_AGENT).send();
if (HttpServletResponse.SC_OK != res.statusCode()) {
LOGGER.log(Level.ERROR, "Gets oauth client id failed: " + res.toString());
......@@ -136,7 +135,9 @@ public class OAuthGitHubProcessor {
return;
}
final String clientId = result.optString(Common.DATA);
final JSONObject data = result.optJSONObject(Keys.DATA);
final String clientId = data.optString("clientId");
final String loginAuthURL = data.optString("loginAuthURL");
String referer = context.param("referer");
if (StringUtils.isBlank(referer)) {
......@@ -146,7 +147,7 @@ public class OAuthGitHubProcessor {
final String state = referer + ":::" + RandomStringUtils.randomAlphanumeric(16) + ":::cb=" + cb + ":::";
STATES.put(state, URLs.encode(state));
final String path = "https://github.com/login/oauth/authorize" + "?client_id=" + clientId + "&state=" + state
final String path = loginAuthURL + "?client_id=" + clientId + "&state=" + state
+ "&scope=public_repo,read:user,user:email,user:follow";
context.sendRedirect(path);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment