Browse Source

Azure授权 鉴权码等信息修改

wangggziwen 2 years ago
parent
commit
37a6c82bbd

+ 25 - 20
master/src/main/java/com/ruoyi/project/system/controller/SysLoginController.java

@@ -178,21 +178,26 @@ public class SysLoginController {
         // 1.2 构建请求参数
         MultiValueMap<String, String> body = new LinkedMultiValueMap<>();
         body.put("code", new LinkedList<String>(){{ add(code); }});
+
         body.put("grant_type", new LinkedList<String>(){{ add("authorization_code"); }});
-        // TODO: 修改client_secret
-        body.put("client_secret", new LinkedList<String>(){{ add("FdR8Q~hmMJsJtJzPhDntTMwRv2WKD6dEhpSKraqk"); }});
-        // TODO: 修改client_id
-        body.put("client_id", new LinkedList<String>(){{ add("3db6f125-db4d-456b-a76e-a6d03182e845"); }});
-        body.put("redirect_uri", new LinkedList<String>(){{ add("http://localhost/cpms/index.html"); }});
-        // TODO: 修改scope
-        // scope=profile openid offline_access
-        body.put("scope", new LinkedList<String>(){{ add("api://3db6f125-db4d-456b-a76e-a6d03182e845/User.Read"); }});
+
+//        body.put("client_secret", new LinkedList<String>(){{ add("FdR8Q~hmMJsJtJzPhDntTMwRv2WKD6dEhpSKraqk"); }});
+        body.put("client_secret", new LinkedList<String>(){{ add("Ntg8Q~n3Ky7BnMo.xWW5BITBrTHjjDupZV5LSadW"); }});
+
+//        body.put("client_id", new LinkedList<String>(){{ add("3db6f125-db4d-456b-a76e-a6d03182e845"); }});
+        body.put("client_id", new LinkedList<String>(){{ add("13848745-b09e-4105-a48b-180c0c9d13fd"); }});
+
+//        body.put("redirect_uri", new LinkedList<String>(){{ add("http://localhost/cpms/index.html"); }});
+        body.put("redirect_uri", new LinkedList<String>(){{ add("https://cpms.basf-ypc.net.cn/cpms/index.html"); }});
+
+//        body.put("scope", new LinkedList<String>(){{ add("api://3db6f125-db4d-456b-a76e-a6d03182e845/User.Read"); }});
+        body.put("scope", new LinkedList<String>(){{ add("openid profile"); }});
 
         // 2. 执行请求
         ResponseEntity<AjaxResult> exchange = restTemplate.exchange(
-                // TODO: 修改token请求链接
-                // https://login.microsoftonline.com/ecaa386b-c8df-4ce0-ad01-740cbdb5ba55/oauth2/v2.0/token
-                "https://login.microsoftonline.com/7503e40a-97ec-4eb9-bf6d-2836e57e882d/oauth2/v2.0/token",
+                // token请求链接
+//                "https://login.microsoftonline.com/7503e40a-97ec-4eb9-bf6d-2836e57e882d/oauth2/v2.0/token",
+                "https://login.microsoftonline.com/ecaa386b-c8df-4ce0-ad01-740cbdb5ba55/oauth2/v2.0/token",
                 HttpMethod.POST,
                 new HttpEntity<>(body, headers),
                 new ParameterizedTypeReference<AjaxResult>() {}); // 解决 CommonResult 的泛型丢失
@@ -203,18 +208,18 @@ public class SysLoginController {
 
         try {
             // 3. 进行jwt解析
-            // TODO: jwt
-//            String idToken = ajax.get("id_token").toString();
-//            idToken = idToken.substring(idToken.indexOf(".") + 1, idToken.lastIndexOf("."));
-//            byte[] decodeBytes = java.util.Base64.getDecoder().decode(idToken);
-//            String decodeStr = new String(decodeBytes,StandardCharsets.UTF_8);
-//            JSONObject jsonObject = JSONObject.parseObject(decodeStr);
+            String idToken = ajax.get("id_token").toString();
+            idToken = idToken.substring(idToken.indexOf(".") + 1, idToken.lastIndexOf("."));
+            byte[] decodeBytes = java.util.Base64.getDecoder().decode(idToken);
+            String decodeStr = new String(decodeBytes,StandardCharsets.UTF_8);
+            JSONObject jsonObject = JSONObject.parseObject(decodeStr);
 
             // 4. 系统登录 获取系统token
             // 获取cn字段,对应cpms.sysuser.username
-            // TODO: cn
-//            String cn = jsonObject.get("cn").toString();
-            String cn = "ZHANGL49";
+            // cn生产
+            String cn = jsonObject.get("cn").toString();
+            // cn测试
+//            String cn = "ZHANGL49";
             // 根据username,获取系统用户对象
             SysUser sysUser = userService.selectUserByUserName(cn);
             if (sysUser == null) {