提交 6972ad6d 编写于 作者: Chongwen.jiang's avatar Chongwen.jiang

IP获取测试代码添加,,,.

发送验证码请求体添加device_token(设备id)
上级 1562927c
...@@ -164,6 +164,18 @@ ...@@ -164,6 +164,18 @@
<version>1.0.1</version> <version>1.0.1</version>
</dependency> </dependency>
<!-- apple identifyToken校验 -->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.1</version>
</dependency>
<dependency>
<groupId>com.auth0</groupId>
<artifactId>jwks-rsa</artifactId>
<version>0.9.0</version>
</dependency>
</dependencies> </dependencies>
......
...@@ -216,12 +216,11 @@ public class LoginController extends AccountBaseController { ...@@ -216,12 +216,11 @@ public class LoginController extends AccountBaseController {
@ApiOperation(value = "苹果授权登录") @ApiOperation(value = "苹果授权登录")
@GetMapping("/login/apple") @GetMapping("/login/apple")
public PicaResponse appleAuth(HttpServletRequest req) throws Exception{ public PicaResponse appleAuth(@RequestBody EncryptEntity entity) throws Exception{
//@RequestBody EncryptEntity entity BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class);
BaseRequest request = new BaseRequest();//CryptoUtil.decrypt(entity, BaseRequest.class); request.setProductType(super.getProductType());
//request.setProductType(super.getProductType()); request.setSourceType(super.getSourceType());
//request.setSourceType(super.getSourceType()); return PicaResponse.toResponse(loginService.loginByApple(request));
return PicaResponse.toResponse(loginService.loginByApple(req, request));
} }
@ApiOperation(value = "苹果登录绑定手机号") @ApiOperation(value = "苹果登录绑定手机号")
......
...@@ -36,6 +36,8 @@ public class BaseRequest { ...@@ -36,6 +36,8 @@ public class BaseRequest {
private String captchaAnswer; private String captchaAnswer;
@ApiModelProperty("业务类型,1-新老业务区分标识,2-手机号格式校验业务,3-密码登录校验业务") @ApiModelProperty("业务类型,1-新老业务区分标识,2-手机号格式校验业务,3-密码登录校验业务")
private Integer bizType; private Integer bizType;
@ApiModelProperty("设备id")
private String device_token;
@ApiModelProperty("苹果身份token") @ApiModelProperty("苹果身份token")
private String identifyToken; private String identifyToken;
@ApiModelProperty("苹果用户id") @ApiModelProperty("苹果用户id")
...@@ -196,4 +198,12 @@ public class BaseRequest { ...@@ -196,4 +198,12 @@ public class BaseRequest {
public void setInfo(String info) { public void setInfo(String info) {
this.info = info; this.info = info;
} }
public String getDevice_token() {
return device_token;
}
public void setDevice_token(String device_token) {
this.device_token = device_token;
}
} }
...@@ -76,7 +76,7 @@ public interface LoginService { ...@@ -76,7 +76,7 @@ public interface LoginService {
* @Params [baseRequest] * @Params [baseRequest]
* @Return com.pica.cloud.account.account.server.entity.LoginResult * @Return com.pica.cloud.account.account.server.entity.LoginResult
*/ */
LoginResult loginByApple(HttpServletRequest req, BaseRequest baseRequest); LoginResult loginByApple(BaseRequest baseRequest);
/** /**
* @Description 苹果登录绑定手机号 * @Description 苹果登录绑定手机号
......
package com.pica.cloud.account.account.server.util;
import javax.servlet.http.HttpServletRequest;
import java.util.Enumeration;
public class IPUtil {
/**
* @Description 获取请求的外网ip
* @Author Chongwen.jiang
* @Date 2020/2/25 9:34
* @ModifyDate 2020/2/25 9:34
* @Params [request]
* @Return java.lang.String
*/
public static String getIpAdrress(HttpServletRequest request) {
String ip = null;
//X-Forwarded-For:Squid 服务代理
String ipAddresses = request.getHeader("X-Forwarded-For");
Enumeration<String> headerNames = request.getHeaderNames();
while (headerNames.hasMoreElements()) {
//打印所有头信息
String s = headerNames.nextElement();
String header = request.getHeader(s);
// System.out.println(s+"::::"+header);
}
// System.out.println("headerNames:"+ JSON.toJSONString(headerNames));
// System.out.println("RemoteHost:"+request.getRemoteHost());
// System.out.println("RemoteAddr:"+request.getRemoteAddr());
String unknown = "unknown";
if (ipAddresses == null || ipAddresses.length() == 0 || unknown.equalsIgnoreCase(ipAddresses)) {
//Proxy-Client-IP:apache 服务代理
ipAddresses = request.getHeader("Proxy-Client-IP");
}
if (ipAddresses == null || ipAddresses.length() == 0 || unknown.equalsIgnoreCase(ipAddresses)) {
//WL-Proxy-Client-IP:weblogic 服务代理
ipAddresses = request.getHeader("WL-Proxy-Client-IP");
}
if (ipAddresses == null || ipAddresses.length() == 0 || unknown.equalsIgnoreCase(ipAddresses)) {
//HTTP_CLIENT_IP:有些代理服务器
ipAddresses = request.getHeader("HTTP_CLIENT_IP");
}
if (ipAddresses == null || ipAddresses.length() == 0 || unknown.equalsIgnoreCase(ipAddresses)) {
//X-Real-IP:nginx服务代理
ipAddresses = request.getHeader("X-Real-IP");
}
//有些网络通过多层代理,那么获取到的ip就会有多个,一般都是通过逗号(,)分割开来,并且第一个ip为客户端的真实IP
if (ipAddresses != null && ipAddresses.length() != 0) {
ip = ipAddresses.split(",")[0];
}
//还是不能获取到,最后再通过request.getRemoteAddr();获取
if (ip == null || ip.length() == 0 || unknown.equalsIgnoreCase(ipAddresses)) {
ip = request.getRemoteAddr();
}
if("0:0:0:0:0:0:0:1".equalsIgnoreCase(ip)){
ip = "127.0.0.1";
}
return ip;
}
}
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册