ThirdAppTypeItemVo config = thirdAppConfig.getWechatEnterprise(); StringBuilder builder = new StringBuilder(); // 构造企业微信OAuth2登录授权地址 builder.append("https://open.weixin.qq.com/connect/oauth2/authorize"); // 企业的CorpID builder.append("?appid=").append(config.getClientId()); // 授权后重定向的回调链接地址,请使用urlencode对链接进行处理 //String redirectUri = RestUtil.getBaseUrl() + "/itsmboot/sys/thirdLogin/oauth2/wechat_enterprise/callback"; String redirectUri = "http://demo.iservicecom.com:3080/itsmboot/sys/thirdLogin/oauth2/wechat_enterprise/callback"; builder.append("&redirect_uri=").append(URLEncoder.encode(redirectUri, "UTF-8")); // 返回类型,此时固定为:code builder.append("&response_type=code"); // 应用授权作用域。 // snsapi_base:静默授权,可获取成员的的基础信息(UserId与DeviceId); builder.append("&scope=snsapi_base"); // 重定向后会带上state参数,长度不可超过128个字节 builder.append("&state=").append(state); builder.append("&username=").append(username); // 终端使用此参数判断是否需要带上身份信息 builder.append("#wechat_redirect"); url = builder.toString(); log.info("oauth2 login url:" + url); response.sendRedirect(url);如何在另外一个方法中获取username
时间: 2024-04-24 22:21:11 浏览: 73
在另外一个方法中获取`username`参数,你可以通过以下代码进行解析:
```java
import java.net.URI;
import java.net.URISyntaxException;
public class Main {
public static void main(String[] args) {
String url = "http://demo.iservicecom.com:3080/itsmboot/sys/thirdLogin/oauth2/wechat_enterprise/callback?code=CODE&state=STATE&username=admin";
try {
URI uri = new URI(url);
String query = uri.getQuery();
String[] queryParams = query.split("&");
String username = null;
for (String param : queryParams) {
String[] keyValue = param.split("=");
if (keyValue.length == 2 && keyValue[0].equals("username")) {
username = keyValue[1];
break;
}
}
if (username != null) {
System.out.println("Username: " + username);
} else {
System.out.println("Username parameter not found.");
}
} catch (URISyntaxException e) {
e.printStackTrace();
}
}
}
```
运行上述代码,你将得到输出结果:
```
Username: admin
```
这样你就成功获取到了URL中的`username`参数值。请注意,这里的示例代码是为了演示如何获取`username`参数值,你需要根据实际情况进行相应的修改。
阅读全文