Commit 62d83597 authored by alex yao's avatar alex yao

修改谷歌登录配置

parent 603379ec
......@@ -14,6 +14,12 @@
</properties>
<dependencyManagement>
<dependencies>
<!-- 指定 httpclient 的版本 -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.9</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
......@@ -153,7 +159,7 @@
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5</version>
<version>4.5.9</version>
</dependency>
......
......@@ -14,6 +14,7 @@ import cn.com.yict.framemax.frame.service.FmxParamConfigService;
import com.google.api.client.googleapis.auth.oauth2.GoogleIdToken;
import com.google.api.client.googleapis.auth.oauth2.GoogleIdToken.Payload;
import com.google.api.client.googleapis.auth.oauth2.GoogleIdTokenVerifier;
import com.google.api.client.googleapis.auth.oauth2.GooglePublicKeysManager;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.http.apache.v2.ApacheHttpTransport;
import com.google.api.client.json.JsonFactory;
......@@ -36,6 +37,10 @@ public class GoogleLoginChannel implements LoginChannelService {
private static final String CLIENT_ID = Config.get("google.client.id");
private final HttpTransport transport = new ApacheHttpTransport();
private final JsonFactory jsonFactory = new GsonFactory();
@Resource
private BizMemberInfoService bizMemberInfoService;
......@@ -45,12 +50,11 @@ public class GoogleLoginChannel implements LoginChannelService {
@Resource
private FmxParamConfigService fmxParamConfigService;
@Override
public BaseModel doLogin(MemberLoginRequestDto memberLoginRequest) throws Exception {
HttpTransport transport = new ApacheHttpTransport();
JsonFactory jsonFactory = new GsonFactory();
GoogleIdTokenVerifier verifier = new GoogleIdTokenVerifier.Builder(transport, jsonFactory)
GooglePublicKeysManager.Builder builder = new GooglePublicKeysManager.Builder(transport, jsonFactory);
builder.setPublicCertsEncodedUrl("https://google-api.gsstcloud.com/oauth2/v1/certs");
GoogleIdTokenVerifier verifier = new GoogleIdTokenVerifier.Builder(builder.build())
.setAudience(Collections.singletonList(CLIENT_ID))
.build();
......
......@@ -26,4 +26,4 @@ large-model.apikey=sk-bNzgFwFtw3k4jR7CE3575a19C3304a53Bb803cCeDeC154F2
# \u652F\u4ED8\u56DE\u8C03\u5730\u5740
pay.domain.callback.url=https://poc-sit.gsstcloud.com/api/rest/payCallBackRest/payCallBack.json
# \u8C37\u6B4C\u767B\u5F55
google.client.id=698774957461-b3s1l98m7qjv5ilphvlo57gjhbs7fnfm.apps.googleusercontent.com
\ No newline at end of file
google.client.id=867985016759-n9qj00k174n9bibrtrqngvt89vbmnjrp.apps.googleusercontent.com
\ No newline at end of file
......@@ -26,4 +26,4 @@ large-model.apikey=sk-gQM7bpiRxaOl2emt0cBbF47481C5403885263eFeB95c7a8e
# \u652F\u4ED8\u56DE\u8C03\u5730\u5740
pay.domain.callback.url=https://model-link.gsstcloud.com/api/rest/payCallBackRest/payCallBack.json
# \u8C37\u6B4C\u767B\u5F55
google.client.id=698774957461-b3s1l98m7qjv5ilphvlo57gjhbs7fnfm.apps.googleusercontent.com
\ No newline at end of file
google.client.id=867985016759-n9qj00k174n9bibrtrqngvt89vbmnjrp.apps.googleusercontent.com
\ No newline at end of file
......@@ -26,4 +26,4 @@ large-model.apikey=sk-bNzgFwFtw3k4jR7CE3575a19C3304a53Bb803cCeDeC154F2
# \u652F\u4ED8\u56DE\u8C03\u5730\u5740
pay.domain.callback.url=https://poc-sit.gsstcloud.com/api/rest/payCallBackRest/payCallBack.json
# \u8C37\u6B4C\u767B\u5F55
google.client.id=698774957461-b3s1l98m7qjv5ilphvlo57gjhbs7fnfm.apps.googleusercontent.com
\ No newline at end of file
google.client.id=867985016759-n9qj00k174n9bibrtrqngvt89vbmnjrp.apps.googleusercontent.com
\ No newline at end of file
......@@ -26,4 +26,4 @@ large-model.apikey=sk-gQM7bpiRxaOl2emt0cBbF47481C5403885263eFeB95c7a8e
# \u652F\u4ED8\u56DE\u8C03\u5730\u5740
pay.domain.callback.url=https://model-link.gsstcloud.com/api/rest/payCallBackRest/payCallBack.json
# \u8C37\u6B4C\u767B\u5F55
google.client.id=698774957461-b3s1l98m7qjv5ilphvlo57gjhbs7fnfm.apps.googleusercontent.com
\ No newline at end of file
google.client.id=867985016759-n9qj00k174n9bibrtrqngvt89vbmnjrp.apps.googleusercontent.com
\ No newline at end of file
......@@ -4,8 +4,17 @@ package cn.com.poc.user.builder;
import cn.com.poc.common.service.JudgeCodeService;
import cn.com.poc.user.dto.MemberLoginRequestDto;
import cn.com.poc.user.entity.MemberInfoEntity;
import cn.com.poc.user.service.BizMemberInfoService;
import cn.com.yict.framemax.core.config.Config;
import cn.com.yict.framemax.core.i18n.I18nMessageException;
import cn.com.yict.framemax.core.spring.SingleContextInitializer;
import com.google.api.client.googleapis.auth.oauth2.GoogleIdToken;
import com.google.api.client.googleapis.auth.oauth2.GoogleIdTokenVerifier;
import com.google.api.client.googleapis.auth.oauth2.GooglePublicKeysManager;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.http.apache.v2.ApacheHttpTransport;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.json.gson.GsonFactory;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
......@@ -20,6 +29,11 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.util.Collections;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.mockito.ArgumentMatchers.any;
......@@ -109,4 +123,19 @@ public class LoginChannelTest {
assertNotNull(memberInfoEntity);
}
@Test
public void testGoogleLogin_idTokenVerify() throws GeneralSecurityException, IOException {
String idTokenString = "eyJhbGciOiJSUzI1NiIsImtpZCI6ImFiODYxNGZmNjI4OTNiYWRjZTVhYTc5YTc3MDNiNTk2NjY1ZDI0NzgiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20iLCJhenAiOiI2OTg3NzQ5NTc0NjEtYjNzMWw5OG03cWp2NWlscGh2bG81N2dqaGJzN2ZuZm0uYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJhdWQiOiI2OTg3NzQ5NTc0NjEtYjNzMWw5OG03cWp2NWlscGh2bG81N2dqaGJzN2ZuZm0uYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJzdWIiOiIxMTY0NTU4OTc5OTYyNzQ1NDk4MjEiLCJlbWFpbCI6InRlcnJ5bGFud0BnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmJmIjoxNzM1Mjc5OTM3LCJuYW1lIjoidGVycnkgbGFuIiwicGljdHVyZSI6Imh0dHBzOi8vbGgzLmdvb2dsZXVzZXJjb250ZW50LmNvbS9hL0FDZzhvY0p2azFpOEFYZkJza3Q5d3JzamJNdVZDOHhqWlJ3NXVFWlE5elFveXJRWVFZUUJaQT1zOTYtYyIsImdpdmVuX25hbWUiOiJ0ZXJyeSIsImZhbWlseV9uYW1lIjoibGFuIiwiaWF0IjoxNzM1MjgwMjM3LCJleHAiOjE3MzUyODM4MzcsImp0aSI6IjlkZDAyYTJmNzc2ZjA0NjkxYmFkY2JiZDg5ZDRmNThiZmMxZWM3NzcifQ.ccc5cHGceXaqOmt6l3itLHmysA2SDoNWQ-s-fUs6fLnViToxyheyayuIzVSntfxtplRcrTuTXNnKrGp_EjIHUT0RKb4NyaDNpCeIXYXOjJaphArkUXNDUPodDxbPuCWZZ5D2b1cm2IzTtw-44Z4bj7PBN-5q00cEtXujlAb4QidAnOyOMibY2R7nU1P5qs7jL2zgdoyn1jG4Xoo2kg12uxeX0IhWp0Y_WwBPMpndtmg-NZm-Av1rVNEeR_82nTWsGBVKdtwwycVCMoK4p0D_J7KNGqz_dXwGxCwde0rIDp5XuJYhorp6dQUFirG0-sE9wcoiTiYuxvaf_3OkT0V9ew";
String CLIENT_ID = Config.get("google.client.id");
HttpTransport transport = new ApacheHttpTransport();
JsonFactory jsonFactory = new GsonFactory();
GooglePublicKeysManager.Builder builder = new GooglePublicKeysManager.Builder(transport, jsonFactory);
builder.setPublicCertsEncodedUrl("https://google-api.gsstcloud.com/oauth2/v1/certs");
GoogleIdTokenVerifier verifier = new GoogleIdTokenVerifier.Builder(builder.build())
.setAudience(Collections.singletonList(CLIENT_ID))
.build();
GoogleIdToken idToken = verifier.verify(idTokenString);
System.out.println(idToken);
}
}
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