uni-app接入一键登录功能

本文详细介绍了如何在uni-app中实现一键登录功能,包括开通uni登录服务、配置Android证书、设置manifest.json和云函数,以及在项目中实际应用预登录和手机号登录的过程。

uni-app接入一键登录功能

一键登录功能官方文档

官方文档地址:https://uniapp.dcloud.net.cn/univerify.html

使用一键登录功能条件

  1. 开通uni一键登录服务,开通后添加需要申请开通一键登录功能的应用。

开通一键登录服务文档地址:https://doc.dcloud.net.cn/uniCloud/uni-login/service.html

在这里插入图片描述
在这里插入图片描述
Android使用自有证书:如果你使用了自有证书,需要在 我的应用-> 选择你的应用 -> 各平台信息,找到你的Android端应用配置相应签名参数,否则在创建一键登录应用的时候签名参数是没有的。
在这里插入图片描述

如果你使用keytool -list -v -keystore {your_app}.keystore打印参数发现你的md5参数没有,请参考这个获取md5签名参数:https://ask.dcloud.net.cn/article/38778

我用的是里面大佬分享的不降级的方式,这种方式需要先安装openssl

  1. 开通uniCloud服务
    一键登录功能需要用到云空服务空间和云函数所以必须开通服务空间,你一键登录创建的原函数上传后也会存在这里面。
    在这里插入图片描述
  2. 配置manifest.json ,需要在App模块配置勾选上OAuth(登录鉴权)和一键登录(univerify)
    在这里插入图片描述

创建云uniCloud云开发环境

上面的步骤都配置好了,接下来就可以回到编辑器创建云开发环境了, 右击你的项目文件夹 -> 选择创建uniCloud云开发环境 -> 选择你的云服务空间类型(阿里云、腾讯云、支付宝小程序云)。创建好之后,右击生成的uniCloud文件夹关联你的服务空间。
在这里插入图片描述

创建云函数

右击cloudfunctions文件夹选择新建云函数/云对象选项去创建你的云函数。创建完并添加完代码后,右击你创建的云函数文件夹上传部署你的云函数。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

云函数代码
'use strict';
 exports.main = async (event, context) => {
   
   
 	// event里包含着客户端提交的参数
 	const res = await uniCloud.getPhoneNumber({
   
   
 		appid: '__UNI__xxxxxx', // 替换成自己开通一键登录的应用的DCloud appid,使用callFunction方式调用时可以不传(会自动取当前客户端的appid),如果使用云函数URL化的方式访问必须传此参数
 		provider: 'univerify',
 		apiKey: 'xxxxxxxxxxxxxxxx', // 在开发者中心开通服务并获取apiKey
 		apiSecret: 'xxxxxxxxxxxxxx', // 在开发者中心开通服务并获取apiSecret
 		access_token: event.access_token,
 		openid: event.openid
 	})
 
 	console.log('res>>>>>>>>>>>>>>>',res); // res里包含手机号
 	// 执行用户信息入库等操作,正常情况下不要把完整手机号返回给前端
 	// 如果数据库在uniCloud上,可以直接入库
 	// 如果数据库不在uniCloud上,可以通过 uniCloud.httpclient API,将手机号通过http方式传递给其他服务器的接口,详见:https://un
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pony君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值