From 0e79b6a7445aff9d8854b96a7b414f1f9ca8bb82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=BF=97=E5=AE=B6?= <75362129@qq.com> Date: Mon, 28 Apr 2025 01:36:40 +0000 Subject: [PATCH] =?UTF-8?q?!225=20feat(social):=20=E5=AE=9E=E7=8E=B0=20Top?= =?UTF-8?q?IAM=20=E7=9A=84=20code=20=E6=8D=A2=E5=8F=96=20token=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=20*=20feat(social):=20=E5=AE=9E=E7=8E=B0=20TopIAM=20?= =?UTF-8?q?=E7=9A=84=20code=20=E6=8D=A2=E5=8F=96=20token=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/social/topiam/AuthTopIamRequest.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/topiam/AuthTopIamRequest.java b/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/topiam/AuthTopIamRequest.java index 058a7f444..6b9c6b6a2 100644 --- a/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/topiam/AuthTopIamRequest.java +++ b/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/topiam/AuthTopIamRequest.java @@ -1,7 +1,10 @@ package org.dromara.common.social.topiam; +import cn.hutool.core.codec.Base64; import cn.hutool.core.lang.Dict; import cn.hutool.core.util.StrUtil; +import cn.hutool.http.HttpRequest; +import cn.hutool.http.HttpResponse; import com.xkcoding.http.support.HttpHeader; import lombok.extern.slf4j.Slf4j; import me.zhyd.oauth.cache.AuthStateCache; @@ -54,6 +57,17 @@ public class AuthTopIamRequest extends AuthDefaultRequest { .build(); } + @Override + protected String doPostAuthorizationCode(String code) { + HttpRequest request = HttpRequest.post(source.accessToken()) + .header("Authorization", "Basic " + Base64.encode("%s:%s".formatted(config.getClientId(), config.getClientSecret()))) + .form("grant_type", "authorization_code") + .form("code", code) + .form("redirect_uri", config.getRedirectUri()); + HttpResponse response = request.execute(); + return response.body(); + } + @Override public AuthUser getUserInfo(AuthToken authToken) { String body = doGetUserInfo(authToken);