diff --git a/pom.xml b/pom.xml index c6290a8..721cb44 100644 --- a/pom.xml +++ b/pom.xml @@ -61,36 +61,36 @@ 2.9.2 - - com.google.code.gson - gson - 2.8.5 - + + + + + - - - com.sun.mail - javax.mail - 1.6.2 - - - - - com.fasterxml.jackson.core - jackson-databind - 2.9.4 - + + + + + + + + + + + + + - - com.fasterxml.jackson.core - jackson-annotations - 2.9.4 - - - com.fasterxml.jackson.core - jackson-core - 2.9.4 - + + + + + + + + + + org.slf4j diff --git a/src/main/java/com/dnslin/onemanager/logic/AuthToken.java b/src/main/java/com/dnslin/onemanager/logic/AuthToken.java index ca59ad7..428f7fb 100644 --- a/src/main/java/com/dnslin/onemanager/logic/AuthToken.java +++ b/src/main/java/com/dnslin/onemanager/logic/AuthToken.java @@ -9,13 +9,14 @@ package com.dnslin.onemanager.logic; */ public interface AuthToken { /** - * 功能描述 + * 获取AccessToken * @author dnslin * @date 10/25 * @param clientId * @param redirectUri + * @param clientSecret * @return */ - String getAccessToken(String clientId, String redirectUri); + void getAccessToken(String clientId, String redirectUri,String clientSecret); String getRefreshToken(); } diff --git a/src/main/java/com/dnslin/onemanager/logic/impl/AuthTokenImpl.java b/src/main/java/com/dnslin/onemanager/logic/impl/AuthTokenImpl.java index f3f7137..f316ea6 100644 --- a/src/main/java/com/dnslin/onemanager/logic/impl/AuthTokenImpl.java +++ b/src/main/java/com/dnslin/onemanager/logic/impl/AuthTokenImpl.java @@ -1,5 +1,7 @@ package com.dnslin.onemanager.logic.impl; +import cn.hutool.core.lang.Console; +import com.alibaba.fastjson.JSONObject; import com.dnslin.onemanager.exception.AppException; import com.dnslin.onemanager.logic.AuthToken; import com.dnslin.onemanager.result.ResponseEnum; @@ -24,14 +26,26 @@ public class AuthTokenImpl extends HttpServlet implements AuthToken { private final ServletContext context = this.getServletContext(); @Override - public String getAccessToken(String clientId, String redirectUri) { - String code = (String)context.getAttribute("code"); - if (code == null || code.isEmpty()){ - throw new AppException(ResponseEnum.SYSTEM_ERROR); + public void getAccessToken(String clientId, String redirectUri, String clientSecret) { + String code = (String) context.getAttribute("code"); + if (code == null || code.isEmpty()) { + throw new AppException(ResponseEnum.AUTH_CODE_ISNULL); } Map param = new HashMap(); - HttpClientUtils.doPost("",param); - return null; + param.put("client_id", clientId); + param.put("scope", "files.readwrite.all files.readwrite offline_access"); + param.put("code", code); + param.put("redirect_uri", redirectUri); + param.put("grant_type", "authorization_code"); + param.put("client_secret", clientSecret); + String accessJson = HttpClientUtils.doPost("https://login.microsoftonline.com/common/oauth2/v2.0/token", param).getContent(); + if (accessJson == null || accessJson.isEmpty()) { + throw new AppException(ResponseEnum.THE_RESULT_SET_IS_EMPTY); + } + Console.log("结果集accessJson:==>" + accessJson); + String access_token = JSONObject.parseObject(accessJson).getString("access_token"); + Console.log("Access_token:==>" + access_token); + context.setAttribute("access_token",access_token); } @Override diff --git a/src/main/java/com/dnslin/onemanager/result/ResponseEnum.java b/src/main/java/com/dnslin/onemanager/result/ResponseEnum.java index a9e6ee7..b2b9451 100644 --- a/src/main/java/com/dnslin/onemanager/result/ResponseEnum.java +++ b/src/main/java/com/dnslin/onemanager/result/ResponseEnum.java @@ -10,7 +10,8 @@ public enum ResponseEnum { Cookie_not_found("4004","Cookie获取失败"), Token_invalid("4005","Token失效"), PARAMETERS_ARE_MISSING("4006","参数缺失"), - AUTH_CODE_ISNULL("4007","Auth Code 为空"); + AUTH_CODE_ISNULL("4007","Auth Code 为空"), + THE_RESULT_SET_IS_EMPTY("4008","请求结果集为Null,请联系管理员"); private String code;