Browse Source

Merge branch 'release_hzx' of gitadmin/tuoheng_oidc into master

master
gitadmin 3 months ago
parent
commit
122c894a71
10 changed files with 106 additions and 13 deletions
  1. +29
    -0
      tuoheng_oidc_server/src/main/java/com/tuoheng/common/CommonConfig.java
  2. +1
    -0
      tuoheng_oidc_server/src/main/java/com/tuoheng/config/SecurityConfig.java
  3. +27
    -5
      tuoheng_oidc_server/src/main/java/com/tuoheng/controller/ThirdController.java
  4. +1
    -1
      tuoheng_oidc_server/src/main/java/com/tuoheng/service/ThirdService.java
  5. +21
    -3
      tuoheng_oidc_server/src/main/java/com/tuoheng/service/impl/ThirdServiceImpl.java
  6. +5
    -0
      tuoheng_oidc_server/src/main/java/com/tuoheng/service/impl/UserServiceImpl.java
  7. +6
    -1
      tuoheng_oidc_server/src/main/resources/application-dev.yml
  8. +6
    -1
      tuoheng_oidc_server/src/main/resources/application-local.yml
  9. +5
    -1
      tuoheng_oidc_server/src/main/resources/application-prod.yml
  10. +5
    -1
      tuoheng_oidc_server/src/main/resources/application-test.yml

+ 29
- 0
tuoheng_oidc_server/src/main/java/com/tuoheng/common/CommonConfig.java View File

@@ -0,0 +1,29 @@
package com.tuoheng.common;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;

/**
* 2024年6月21日10:29:18
* author: hanzhengxing
*/
@Configuration
@Data
public class CommonConfig {

/**
* 机场地址
*/
public static String airportURL;

/**
* 机场url
* @param url
*/
@Value("${tuoheng.airport-url}")
public void airportURL(String url) {
airportURL = url;
}

}

+ 1
- 0
tuoheng_oidc_server/src/main/java/com/tuoheng/config/SecurityConfig.java View File

@@ -120,6 +120,7 @@ public class SecurityConfig {
.antMatchers("/toLogin", "/getHealth", "/static/**", "/vercode").permitAll()
.antMatchers("/user/create", "/user/getInfo").permitAll()
.antMatchers("/third/authorize", "/third/redirect").permitAll()
.antMatchers("/third/test","/third/test1").permitAll()
.anyRequest().authenticated()
)
// Form login handles the redirect to the login page from the

+ 27
- 5
tuoheng_oidc_server/src/main/java/com/tuoheng/controller/ThirdController.java View File

@@ -1,5 +1,7 @@
package com.tuoheng.controller;

import com.alibaba.druid.util.StringUtils;
import com.tuoheng.common.CommonConfig;
import com.tuoheng.service.ThirdService;
import com.tuoheng.until.JsonResult;
import lombok.extern.slf4j.Slf4j;
@@ -27,14 +29,26 @@ public class ThirdController {
private ThirdService thirdService;


@GetMapping("/test")
public String test() {
return "finish...";
}

@GetMapping("/test1")
public String test1() {
String url = CommonConfig.airportURL;
log.info(url);
return "finish..." + url;
}

/**
* 通过clientId登录
* @param clientId
* @return
*/
@GetMapping("/authorize")
public JsonResult authorize(String clientId) {
return thirdService.authorize(clientId);
public JsonResult authorize(String clientId, String userName) {
return thirdService.authorize(clientId, userName);
}

/**
@@ -43,9 +57,17 @@ public class ThirdController {
*/
@CrossOrigin(origins = "https://airport.t-aaron.com")
@GetMapping(value = "/redirect")
public void airportRedirect(HttpServletRequest req, HttpServletResponse resp) throws Exception {
log.info("访问airport");
resp.sendRedirect("https://airport.t-aaron.com/transfer");
public void airportRedirect(HttpServletRequest req, HttpServletResponse resp,String userName) throws Exception {
log.info("enter airportRedirect userName is {}", userName);

String url = CommonConfig.airportURL + "/transfer";

if(!StringUtils.isEmpty(userName)){
url += "?userName="+userName;
}
log.info("url is {}", url);

resp.sendRedirect(url);
}

/**

+ 1
- 1
tuoheng_oidc_server/src/main/java/com/tuoheng/service/ThirdService.java View File

@@ -6,5 +6,5 @@ import javax.servlet.http.HttpServletRequest;

public interface ThirdService {

JsonResult authorize(String clientId);
JsonResult authorize(String clientId, String userName);
}

+ 21
- 3
tuoheng_oidc_server/src/main/java/com/tuoheng/service/impl/ThirdServiceImpl.java View File

@@ -1,5 +1,6 @@
package com.tuoheng.service.impl;

import com.alibaba.druid.util.StringUtils;
import com.alibaba.fastjson.JSONObject;
import com.tuoheng.constants.OidcConstant;
import com.tuoheng.constants.ThirdConstant;
@@ -13,6 +14,7 @@ import com.tuoheng.model.result.TokenResult;
import com.tuoheng.service.ThirdService;
import com.tuoheng.until.HttpUtils;
import com.tuoheng.until.JsonResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -22,7 +24,6 @@ import org.springframework.stereotype.Service;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.client.RestTemplate;

import java.rmi.ServerException;
@@ -34,6 +35,7 @@ import java.util.List;
* @Date 2023/11/11 10:19
*/
@Service
@Slf4j
public class ThirdServiceImpl implements ThirdService {


@@ -53,19 +55,29 @@ public class ThirdServiceImpl implements ThirdService {
* @return
*/
@Override
public JsonResult authorize(String clientId) {
public JsonResult authorize(String clientId, String userName) {
String username;
String password;
if(ThirdConstant.TUOHENG_AIRPORT_ADMIN.equals(clientId)){

log.info("clientId is {}, userName is {}",clientId,userName);

if(ThirdConstant.TUOHENG_AIRPORT_ADMIN.equals(clientId) && !StringUtils.isEmpty(userName) && userName.equals("jnbigdata")){
log.info("enterjnbigdata");
username = "jnbigdata";
password = "thjs2023";
}else if(ThirdConstant.TUOHENG_AIRPORT_ADMIN.equals(clientId)){
log.info("enterclientId clientId is " + ThirdConstant.TUOHENG_AIRPORT_ADMIN);
username = ThirdConstant.GZJJ_USERNAME;
password = ThirdConstant.GZJJ_PASSWORD;
}else if(ThirdConstant.TUOHENG_TELECOMUMALE_ADMIN.equals(clientId)){
log.info("enterclientId clientId is " + ThirdConstant.TUOHENG_TELECOMUMALE_ADMIN);
username = ThirdConstant.HLCG_USERNAME;
password = ThirdConstant.HLCG_PASSWORD;
}else {
return JsonResult.error("clientId error");
}

log.info("userName is {},password is {}" , username,password);
//通过oidc的密码模式获取授权token 等相关信息数据
TokenResult tokenResult = getToken(clientId,username,password);
tokenResult.setUserName(username);
@@ -106,7 +118,13 @@ public class ThirdServiceImpl implements ThirdService {
headers.add("Authorization", "Basic " + authorization);
HttpEntity<MultiValueMap<String, String>> httpEntity = new HttpEntity(params, headers);

String jsonString = JSONObject.toJSONString(params);
String jsonString1 = JSONObject.toJSONString(headers);
log.info("sign json is " + jsonString);
log.info("sign json1 is " + jsonString1);

ResponseEntity<TokenResult> response = restTemplate.exchange(url, HttpMethod.POST, httpEntity, parameterizedTypeReference);
log.info("sign result is " + JSONObject.toJSONString(response));
return response.getBody();
}


+ 5
- 0
tuoheng_oidc_server/src/main/java/com/tuoheng/service/impl/UserServiceImpl.java View File

@@ -66,5 +66,10 @@ public class UserServiceImpl implements UserSevice {
return JsonResult.success(userBaseInfoDto);
}

public static void main(String[] args) {
String str = new BCryptPasswordEncoder().encode("thjs2023");
System.out.println(str);
}


}

+ 6
- 1
tuoheng_oidc_server/src/main/resources/application-dev.yml View File

@@ -59,4 +59,9 @@ spring:
min-idle: 1 # 连接池中的最小空闲连接
oauth2:
token:
issuer: http://192.168.11.11:8090
issuer: http://192.168.11.11:8090

# 自定义配置
tuoheng:
#airport配置地址
airport-url: https://airport-test.t-aaron.com

+ 6
- 1
tuoheng_oidc_server/src/main/resources/application-local.yml View File

@@ -57,4 +57,9 @@ spring:
min-idle: 1 # 连接池中的最小空闲连接
oauth2:
token:
issuer: http://127.0.0.1:8090
issuer: http://127.0.0.1:8090

# 自定义配置
tuoheng:
#airport配置地址
airport-url: http://192.168.11.22:8060

+ 5
- 1
tuoheng_oidc_server/src/main/resources/application-prod.yml View File

@@ -57,4 +57,8 @@ spring:
min-idle: 1 # 连接池中的最小空闲连接
oauth2:
token:
issuer: https://oidc.t-aaron.com
issuer: https://oidc.t-aaron.com

tuoheng:
#airport配置地址
airport-url: https://airport.t-aaron.com

+ 5
- 1
tuoheng_oidc_server/src/main/resources/application-test.yml View File

@@ -58,4 +58,8 @@ spring:
min-idle: 1 # 连接池中的最小空闲连接
oauth2:
token:
issuer: https://login-test.t-aaron.com
issuer: https://login-test.t-aaron.com

tuoheng:
#airport配置地址
airport-url: https://airport-test.t-aaron.com

Loading…
Cancel
Save