|
@@ -4,6 +4,7 @@ import java.util.LinkedHashMap;
|
|
|
import java.util.Map;
|
|
|
import java.util.TreeSet;
|
|
|
|
|
|
+import cn.hutool.core.util.RandomUtil;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.security.oauth2.common.util.OAuth2Utils;
|
|
|
import org.springframework.security.oauth2.provider.OAuth2Authentication;
|
|
@@ -25,7 +26,13 @@ public class CustomAuthenticationKeyGenerator extends DefaultAuthenticationKeyGe
|
|
|
if (!authentication.isClientOnly()) {
|
|
|
values.put(USERNAME, StringUtils.substringAfter(authentication.getName(), ":"));
|
|
|
}
|
|
|
- values.put(CLIENT_ID, authorizationRequest.getClientId());
|
|
|
+
|
|
|
+ String clientId = authorizationRequest.getClientId();
|
|
|
+ if (StringUtils.isNotEmpty(clientId) && "qr_teacher".equalsIgnoreCase(clientId)) {
|
|
|
+ // 酷乐秀老师端扫码登录,允许多端登录,同时生成多个token
|
|
|
+ clientId += ":" + RandomUtil.randomNumbers(6);
|
|
|
+ }
|
|
|
+ values.put(CLIENT_ID, clientId);
|
|
|
if (authorizationRequest.getScope() != null) {
|
|
|
values.put(SCOPE, OAuth2Utils.formatParameterList(new TreeSet<String>(authorizationRequest.getScope())));
|
|
|
}
|