diff --git a/seqdata-cloud-authz/src/main/java/cn/seqdata/oauth2/controller/WxAppController.java b/seqdata-cloud-authz/src/main/java/cn/seqdata/oauth2/controller/WxAppController.java index 3ae9608ef088a1b572a07b680ec3b6c73b668cda..03e6d69f3b49a8c496c230a1ce93463f32b2f0af 100644 --- a/seqdata-cloud-authz/src/main/java/cn/seqdata/oauth2/controller/WxAppController.java +++ b/seqdata-cloud-authz/src/main/java/cn/seqdata/oauth2/controller/WxAppController.java @@ -5,6 +5,7 @@ import java.security.Principal; import java.util.HashMap; import java.util.Map; import java.util.Optional; +import lombok.AllArgsConstructor; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -29,7 +30,6 @@ import cn.seqdata.wxapp.message.UrlLinkRequest; import cn.seqdata.wxapp.pojo.PhoneInfo; import cn.seqdata.wxapp.pojo.UserInfo; import cn.seqdata.wxapp.util.WxAppUtils; -import lombok.AllArgsConstructor; /** * @author jrxian @@ -164,6 +164,13 @@ public class WxAppController { return wxappService.urlLink(id, request); } + @ApiOperation("获取小程序 openId") + @PostMapping("/openid") + public String openid(@PathVariable("id") String id, String code) { + Code2SessionResponse response = wxappService.signin(id, code); + return response.openid; + } + private Map attributes(String id, String code, String iv, String encryptedData) throws IOException { Code2SessionResponse response = wxappService.signin(id, code); String decryptedData = WxAppUtils.decryptData(response.session_key, iv, encryptedData);