String access_token = "c3piMTIyZDIxYWU5OWyyyyyyyyyyyyyyyN8djJ8Mw==";
String openid = "10f8680300322222222222222222d8bc15868e39d30a838";
String sign = AESUtil.HMACSHA256("access_token=" + access_token + "&openid=" + openid, "482222222222222fc9");
String url = "https://ssssssapp.com/http/login?access_token=" + access_token + "&openid=" + openid + "&sign=" + sign;
JSONObject jsonObject = HttpUtil.doGet(url);
云函数里面要这样写
// 云函数验证签名,此示例中以接受GET请求为例作演示
const crypto = require('crypto')
module.exports = async(event) => {
const secret = 'your-secret-string' // 自己的密钥不要直接使用示例值,且注意不要泄露
const hmac = crypto.createHmac('sha256', secret);
let params = event.queryStringParameters
const sign = params.sign
delete params.sign
const signStr = Object.keys(params).sort().map(key => {
return `${key}=${params[key]}`
}).join('&')
hmac.update(signStr);
if(sign!==hmac.digest('hex')){
throw new Error('非法访问')
}
const {
access_token,
openid
} = params
const res = await uniCloud.getPhoneNumber({
provider: 'univerify',
appid: 'xxx', // DCloud appid,不同于callFunction方式调用,使用云函数Url化需要传递DCloud appid参数
apiKey: 'xxx', // 在开发者中心开通服务并获取apiKey
apiSecret: 'xxx', // 在开发者中心开通服务并获取apiSecret
access_token: access_token,
openid: openid
})
// 返回手机号给自己服务器
return res
}
速翔网络 (作者)
一键登录前端弄好了,我们PHP后端怎么访问云函数?有没有PHP例子
2021-02-18 11:34