!225 feat(social): 实现 TopIAM 的 code 换取 token功能

* feat(social): 实现 TopIAM 的 code 换取 token功能
dev
李志家 8 months ago committed by 疯狂的狮子Li
parent ccd25a5d46
commit 0e79b6a744

@ -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);

Loading…
Cancel
Save