| 12345678910111213141516171819202122232425262728293031323334 |
- 'use strict';
- const crypto = require('crypto')
- exports.main = async (event, context) => {
- const secret = 'XHB2021198819640123' //密钥,需要和php文件里一致
- 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 res = await uniCloud.getPhoneNumber({
- appid: '__UNI__BD781B0', // 替换成自己开通一键登录的应用的DCloud appid,使用callFunction方式调用时可以不传(会自动取当前客户端的appid),如果使用云函数URL化的方式访问必须传此参数
- provider: 'univerify',
- apiKey: '28218195fca6f5993e5fe4ac357a281b', // 在开发者中心开通服务并获取apiKey
- apiSecret: 'ee1268e59735aa5fdae6f0df0e9c094a', // 在开发者中心开通服务并获取apiSecret
- access_token: event.queryStringParameters.access_token,
- openid: event.queryStringParameters.openid
- })
- if(res.code == 0){
- return {code: 1,msg: '获取手机号成功',data:{phoneNumber:res.phoneNumber}}
- }else{
- return {code: 0,msg: '获取手机号失败'}
- }
- }
|