传递正确的code获取持久授权码无响应
Re传递正确的code获取持久授权码无响应
目前的WEB端免登使用以下流程:
1> 用户在钉钉的页面进行授权,当授权成功后,跳转至我们的页面,
地址后会追加两个参数:code和state
例:http: //114.215.148.161/os/login.html?fromUrl=dingtalk&code=c90034e9e40c351f870d4f3ef969e154
&state=STATE
(备注:code只能使用一次)
3> 通过GET请求获取 sns_access_token:
所需参数:
appId:dingoa9gdvyghqocy8n1fl
appSecret:SaLxM_WLJs***************************nenfY******************
返回结果:
{
'access_token': 'c8904a4070***********71fb6c04', ←该项即为我们需要的sns_access_token
'errcode': 0,
'errmsg': 'ok'
}
4> 通过POST请求用户授权的持久授权码(需要使用第二步追加的code和第三步获得的sns_access_token)
发出的请求:
{
'tmp_auth_code': 'c90034e9e40c351f870d4f3ef969e154' ←该tmp_auth_code即为第二步追加的code
}
完整请求地址:
https ://oapi.dingtalk.com/sns/get_persistent_code?access_token=c8904a4070***********71fb6c04
若请求成功,理论上会返回:
{
'errcode': 0,
'errmsg': 'ok',
'openid': 'liSii8KCxxxxx',
'persistent_code': 'dsa-d-asdasdadHIBIinoninINIn-ssdasd',
'unionid': '7Huu46kk'
}
现在遇到的问题,当我们使用错误的数据进行请求,如错误的code, 会正确提示:{'errcode':40078,'errmsg':'不存在的临时授权码'}
当我们使用错误的sns_access_token, 会正确提示:{'errcode':40014,'errmsg':'不合法的access_token'}
而当我们使用正确的数据进行POST请求,钉钉服务器不响应我们,请求会直接超时。
-------------------------
Re传递正确的code获取持久授权码无响应
顶起来,请帮我解决
赞0
踩0