本帖最后由 荣谦 于 2017-06-30 22:43 编辑 如题 企业自建应用接入云之家平台,做单点登录获取当前用户上下文 通过appAuth2授权认证接口 /openauth2/api/appAuth2 成功的拿到了access_token 跳转到自建应用后也拿到了ticket参数 然后按照开发文档调用获取用户上下文接口 https://www.yunzhijia.com/openapi/third/v1/ticket/public/tickettocontext 一直报签名错误, http请求头参数 调用方法使用JAVA示例代码 https://github.com/yunzhijia/oauth-client4j-sample 中的AuthorizationUtil.generateAuthorizationHeader方法,使用如下: long oauth_timestamp = System.currentTimeMillis()/1000; AuthorizationUtil.generateAuthorizationHeader( appid, //传入的值为跳转URL上获取的APPID appSecret, //传入的值为自建应用输入的秘钥 null, oauth_timestamp, String.valueOf(oauth_timestamp + AuthorizationUtil.RAND.nextInt()), 1.0f, oauth_token, //传入的值为appAuth2授权认证接口返回的access_token oauth_verifier, //传入的值为ticket null, url, //传入的值为"https://www.yunzhijia.com/openapi/third/v1/ticket/public/tickettocontext" param, //null method//POST ); 返回信息如下: {"data":null,"success":false,"error":"oauth_problem=signature_invalid","errorCode":4019,"innererror":null} |
http://club.kingdee.com/forum.ph ... =1233696&extra=
调试信息:
OAuth base string: POST&https%3A%2F%2Fwww.yunzhijia.com%2Fopenapi%2Fthird%2Fv1%2Fticket%2Fpublic%2Ftickettocontext&oauth_consumer_key%3D500038252%26oauth_nonce%3D2098251404%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1512699404%26oauth_token%3D069372f20e2c17848931b717474901dc%26oauth_verifier%3DAPPURLWITHTICKET7735726181b304912180283a7ee22a61%26oauth_version%3D1.0
OAuth signature: auCXF4H+r7t5dhBuhu2MdpYxijI=
Authorization: OAuth oauth_consumer_key="500038252",oauth_signature_method="HMAC-SHA1",oauth_timestamp="1512699404",oauth_nonce="2098251404",oauth_version="1.0",oauth_token="069372f20e2c17848931b717474901dc",oauth_verifier="APPURLWITHTICKET7735726181b304912180283a7ee22a61",oauth_signature="auCXF4H%2Br7t5dhBuhu2MdpYxijI%3D"
OAuth oauth_consumer_key="500038252",oauth_signature_method="HMAC-SHA1",oauth_timestamp="1512699404",oauth_nonce="2098251404",oauth_version="1.0",oauth_token="069372f20e2c17848931b717474901dc",oauth_verifier="APPURLWITHTICKET7735726181b304912180283a7ee22a61",oauth_signature="auCXF4H%2Br7t5dhBuhu2MdpYxijI%3D"
加密用的key是appsecret+&,返回值是{"data":{},"errorCode":500,"success":"false"}
请问上面所述的方法是否可行,我也是同样的操作,也是签名错误。