效果图:
阿里云官方参考文档:
https://help.aliyun.com/product/75010.html
第一步:登录阿里云控制台开通号码认证服务
第二步:添加认证方案:
方案添加成功之后,复制对应安卓和iOS的密钥,安卓端和iOS端需要用。
第三步:获取阿里云账号的AccessKey ID和secret留待备用。
第四步:访问参考文档:
https://help.aliyun.com/document_detail/199152.html
流程图:
下面我们着重讲解几个接口:
1、Login.getBindMobile
参数:mobileid
作用:通过手机设备号获取数据库中绑定的手机号
2、API GetMobile
参考文档:GetMobile - 号码认证服务 - 阿里云https://help.aliyun.com/document_detail/189865.html
点击这个调试按钮可以跳转到不同sdk的在线调试
3、API VerifyMobile
参考文档:
VerifyMobile - 号码认证服务 - 阿里云https://help.aliyun.com/document_detail/189864.html下面我们以nodejs来讲解下GetMobile和VerifyMobile,使用的是express框架。
const express = require('express');
const app = express();
const port = 81;
const Core = require('@alicloud/pop-core');
const accessKeyId=''; //替换为自己的阿里信息
const accessKeySecret=''; //替换为自己的阿里信息
const apiVersion='2017-05-25';
const endpoint='https://dypnsapi.aliyuncs.com';
const RegionId='cn-hangzhou';
const client = new Core({
accessKeyId,
accessKeySecret,
endpoint,
apiVersion
});
app.get('/getMobile', (req, res) => {
const accessToken=req.query.accessToken;
var params = {
RegionId,
accessToken,
}
var requestOption = {
method: 'POST'
};
client.request('GetMobile', params, requestOption).then((result) => {
console.log(JSON.stringify(result));
res.send(result);
}, (ex) => {
console.log(ex);
res.send(ex);
})
//res.send('Hello World!')
})
app.get('/verifyPhoneWithToken', (req, res) => {
const AccessCode=req.query.accessToken;
const PhoneNumber=req.query.phoneNumber;
var params = {
RegionId,
AccessCode,
PhoneNumber,
}
var requestOption = {
method: 'POST'
};
client.request('VerifyMobile', params, requestOption).then((result) => {
console.log(JSON.stringify(result));
res.send(result);
}, (ex) => {
console.log(ex);
res.send(ex);
})
//res.send('Hello World!')
})
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`)
})
访问方式:
域名:81/getMobile?accessToken=
域名:81/verifyPhoneWithToken?accessToken=&phoneNumber=
4、接口:Login.mobileAuthorizeLogin
参数:
phone 手机号码 mobileid 手机设备号 source(来源:android/iOS)
如果手机号初次授权成功后访问该接口登录时,mobileid必传;
如果授权成功登录后 再次登录时,不需要手动授权,那么mobileid就不用传。
登录成功后返回用户的一些基本信息即可。