对接微信,企微,钉钉出现的回退循环问题处理

287 阅读1分钟

通常流程:

1,请求接口未登录,跳转登陆页
2,登陆页区分入口(钉钉,企微,微信),验证成功,直接进入home页,
3,登陆页区分入口(钉钉,企微,微信),验证失败,直接进入login页,

现在流程:

1,将登陆提前,进入页面区分平台,调登陆接口,成功进入home页
2,失败进入login页,

处理问题:

解决登陆后页面切换出现循环回退操作。

对接企微流程:

准备好三个参数:

agentid:xxxxxx
secret:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
corID:xxxxxx

1,配置跳转路径,点击应用跳转即可拿到code(前端)
https://open.weixin.qq.com/connect/oauth2/authorize?appid=对应的企业id&redirect_uri=对应h5路径&response_type=code&scope=SCOPE&agentid=添加的应用id&state=STATE#wechat_redirect

2,前端拿到code和state判断来源,请求登陆接口,(前端)

登陆接口传参:code,type

3,通过提供的秘钥换取access_token(服务端)
https://qyapi.weixin.qq.com/cgi-bin/user/getuserdetail?access_token=ACCESS_TOKEN

4,通过获取到的code&access_token,获取用户信息,拿到UserId,配到用户,(服务端)

5,服务端返回成功状态,写set-cookie,登陆成功。

对接微信流程:

1,微信配置打开路径:url?code=xxxxx,

2,前端进入页面,获取code,来判断来源,请求登陆接口,

3,能获取到用户登陆成功,跳过登陆进入首页,失败则跳转到登陆页,输入账号密码登陆

对接钉钉:

1,钉钉配置好的路径:url+CORPIDCORPID,添加占位符

2,进入页面通过占位符可以获取到企业id

3,通过企业id可以获取到相应的用户信息,打通登陆