package com.qianwen.smartman.modules.auth.service; import java.util.HashMap; import java.util.Map; import me.zhyd.oauth.config.AuthConfig; import com.qianwen.core.social.props.BladeAuthSource; import com.qianwen.core.social.props.ISocialProperties; import com.qianwen.smartman.modules.sync.constant.OuterAppConfigConstant; import com.qianwen.smartman.modules.sync.entity.OuterAppConfig; import com.qianwen.smartman.modules.sync.service.IOuterAppConfigService; import org.springframework.stereotype.Component; @Component public class SocialDbProperties implements ISocialProperties { private final IOuterAppConfigService outerAppConfigService; public SocialDbProperties(final IOuterAppConfigService outerAppConfigService) { this.outerAppConfigService = outerAppConfigService; } public Map getOauth() { Map oauthSource = new HashMap<>(); oauthSource.put(BladeAuthSource.DINGTALK_WEB.getName(), getAuthConfig(BladeAuthSource.DINGTALK_WEB.getName())); oauthSource.put(BladeAuthSource.WECHAT_ENTERPRISE_WEB.getName(), getAuthConfig(BladeAuthSource.WECHAT_ENTERPRISE_WEB.getName())); return oauthSource; } private AuthConfig getAuthConfig(final String source) { int appType = (source.equalsIgnoreCase(BladeAuthSource.DINGTALK_WEB.toString()) ? OuterAppConfigConstant.DING : OuterAppConfigConstant.QY_WECHAT).intValue(); OuterAppConfig config = this.outerAppConfigService.getAppConfig(Integer.valueOf(appType)); AuthConfig authConfig = new AuthConfig(); if (config == null) { return null; } if (appType == OuterAppConfigConstant.DING.intValue()) { authConfig.setClientId(config.getDingAppKey()); authConfig.setClientSecret(config.getDingAppSecret()); authConfig.setAgentId(config.getDingAgentId()); } else { authConfig.setClientId(config.getWxCorpId()); authConfig.setClientSecret(config.getWxAppSecret()); authConfig.setAgentId(config.getWxAgentId()); } authConfig.setIgnoreCheckState(true); authConfig.setIgnoreCheckRedirectUri(true); return authConfig; } }