mirror of https://gitee.com/topiam/eiam
⚡ 优化
parent
a61f6fe100
commit
3594e45586
|
@ -36,7 +36,7 @@ public enum IdentityProviderCategory implements BaseEnum {
|
|||
* 社交
|
||||
*/
|
||||
social("social", "社交", Lists.newArrayList(
|
||||
IdentityProviderType.QQ,
|
||||
IdentityProviderType.QQ_OAUTH,
|
||||
IdentityProviderType.WECHAT_QR,
|
||||
IdentityProviderType.GITEE_OAUTH,
|
||||
IdentityProviderType.GITHUB_OAUTH)),
|
||||
|
|
|
@ -73,7 +73,7 @@ public final class IdentityProviderType {
|
|||
/**
|
||||
* QQ认证
|
||||
*/
|
||||
public static final IdentityProviderType QQ = new IdentityProviderType(
|
||||
public static final IdentityProviderType QQ_OAUTH = new IdentityProviderType(
|
||||
"qq_oauth", "QQ认证", "通过QQ进行身份认证");
|
||||
|
||||
/**
|
||||
|
|
|
@ -49,7 +49,7 @@ import jakarta.servlet.FilterChain;
|
|||
import jakarta.servlet.ServletException;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import static cn.topiam.employee.authentication.common.IdentityProviderType.QQ;
|
||||
import static cn.topiam.employee.authentication.common.IdentityProviderType.QQ_OAUTH;
|
||||
import static cn.topiam.employee.authentication.common.constant.AuthenticationConstants.PROVIDER_CODE;
|
||||
import static cn.topiam.employee.authentication.qq.constant.QqAuthenticationConstants.URL_AUTHORIZE;
|
||||
import static cn.topiam.employee.authentication.qq.filter.QqOAuth2LoginAuthenticationFilter.getLoginUrl;
|
||||
|
@ -70,7 +70,8 @@ public class QqOAuth2AuthorizationRequestRedirectFilter extends OncePerRequestFi
|
|||
* AntPathRequestMatcher
|
||||
*/
|
||||
public static final AntPathRequestMatcher QQ_REQUEST_MATCHER = new AntPathRequestMatcher(
|
||||
QQ.getAuthorizationPathPrefix() + "/" + "{" + PROVIDER_CODE + "}", HttpMethod.GET.name());
|
||||
QQ_OAUTH.getAuthorizationPathPrefix() + "/" + "{" + PROVIDER_CODE + "}",
|
||||
HttpMethod.GET.name());
|
||||
|
||||
/**
|
||||
* 重定向策略
|
||||
|
|
|
@ -54,7 +54,7 @@ import jakarta.servlet.http.HttpServletRequest;
|
|||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import static com.nimbusds.oauth2.sdk.GrantType.AUTHORIZATION_CODE;
|
||||
|
||||
import static cn.topiam.employee.authentication.common.IdentityProviderType.QQ;
|
||||
import static cn.topiam.employee.authentication.common.IdentityProviderType.QQ_OAUTH;
|
||||
import static cn.topiam.employee.authentication.common.constant.AuthenticationConstants.*;
|
||||
import static cn.topiam.employee.authentication.qq.constant.QqAuthenticationConstants.URL_GET_ACCESS_TOKEN;
|
||||
import static cn.topiam.employee.authentication.qq.constant.QqAuthenticationConstants.URL_GET_OPEN_ID;
|
||||
|
@ -68,9 +68,8 @@ import static cn.topiam.employee.authentication.qq.constant.QqAuthenticationCons
|
|||
@SuppressWarnings({ "AlibabaClassNamingShouldBeCamel", "DuplicatedCode" })
|
||||
public class QqOAuth2LoginAuthenticationFilter extends AbstractIdpAuthenticationProcessingFilter {
|
||||
final String ERROR_CODE = "error";
|
||||
public final static String DEFAULT_FILTER_PROCESSES_URI = QQ.getLoginPathPrefix()
|
||||
+ "/" + "{"
|
||||
+ PROVIDER_CODE + "}";
|
||||
public final static String DEFAULT_FILTER_PROCESSES_URI = QQ_OAUTH
|
||||
.getLoginPathPrefix() + "/" + "{" + PROVIDER_CODE + "}";
|
||||
public static final AntPathRequestMatcher REQUEST_MATCHER = new AntPathRequestMatcher(
|
||||
DEFAULT_FILTER_PROCESSES_URI, HttpMethod.GET.name());
|
||||
|
||||
|
@ -156,14 +155,14 @@ public class QqOAuth2LoginAuthenticationFilter extends AbstractIdpAuthentication
|
|||
}
|
||||
// 返回
|
||||
String openId = result.getString(OidcScopes.OPENID);
|
||||
IdpUserDetails idpUserDetails = IdpUserDetails.builder().openId(openId).providerType(QQ)
|
||||
.providerCode(providerCode).providerId(providerId).build();
|
||||
IdpUserDetails idpUserDetails = IdpUserDetails.builder().openId(openId)
|
||||
.providerType(QQ_OAUTH).providerCode(providerCode).providerId(providerId).build();
|
||||
return attemptAuthentication(request, response, idpUserDetails);
|
||||
|
||||
}
|
||||
|
||||
public static String getLoginUrl(String providerId) {
|
||||
String url = ServerHelp.getPortalPublicBaseUrl() + "/" + QQ.getLoginPathPrefix() + "/"
|
||||
String url = ServerHelp.getPortalPublicBaseUrl() + "/" + QQ_OAUTH.getLoginPathPrefix() + "/"
|
||||
+ providerId;
|
||||
return HttpUrlUtils.format(url);
|
||||
}
|
||||
|
|
|
@ -256,7 +256,7 @@ public interface IdentityProviderConverter {
|
|||
} else if (type.equals(WECHAT_WORK_QR.value())) {
|
||||
identityProviderConfig = config.to(WeChatWorkIdpScanCodeConfig.class);
|
||||
//QQ认证
|
||||
} else if (type.equals(QQ.value())) {
|
||||
} else if (type.equals(QQ_OAUTH.value())) {
|
||||
identityProviderConfig = config.to(QqIdpOauthConfig.class);
|
||||
//飞书认证
|
||||
} else if (type.equals(FEISHU_OAUTH.value())) {
|
||||
|
@ -304,8 +304,8 @@ public interface IdentityProviderConverter {
|
|||
if (WECHAT_WORK_QR.value().equals(type)) {
|
||||
return WECHAT_WORK_QR;
|
||||
}
|
||||
if (QQ.value().equals(type)) {
|
||||
return QQ;
|
||||
if (QQ_OAUTH.value().equals(type)) {
|
||||
return QQ_OAUTH;
|
||||
}
|
||||
if (LDAP.value().equals(type)) {
|
||||
return LDAP;
|
||||
|
|
Loading…
Reference in New Issue