uni-id入门(二)---准备工作

举报
代码哈士奇 发表于 2021/07/24 17:55:37 2021/07/24
【摘要】 让我们来开始使用uni-id搭建用户体系吧

让我们来开始使用uni-id搭建用户体系吧
他可以让你的系统拥有登陆注册,手机验证码登陆注册,邮箱登陆,手机号和邮箱的绑定以及解绑。
也可以让你拥有多应用共享一套用户的能力。
让你不会写后端也可以拥有用户体系。
结合uni-admin能快速搭建后台管理
比如A,B,C,D用的是同一个服务空间的云数据库,那么就可以共用用户。
后续为视频讲解
我们的视频教程(免费)链接为https://static-b5208986-2c02-437e-9a27-cfeba1779ced.bspapp.com/

课程视频 https://www.bilibili.com/video/BV1yV411j7S6/

开发工具

使用Hbuilder X 可更好的使用uni-id

下载地址 https://www.dcloud.io/hbuilderx.html
下载app开发版
在这里插入图片描述

创建服务空间

地址为 https://unicloud.dcloud.net.cn/login

推荐创建阿里云服务空间 因为可以创建多个免费的 页面托管也免费

在这里插入图片描述
在这里插入图片描述

创建数据库表

创建官方给的uni-id模板全套

在这里插入图片描述

在这里插入图片描述

引入uni-id模块

打开Hbuilder X创建一个uni-app项目

在这里插入图片描述
关联服务空间 如果创建项目时没有启用uniCloud就需要创建云服务空间

在这里插入图片描述
创建cloudfunctions目录

在这里插入图片描述
创建common目录

在这里插入图片描述
插件市场下载 uni-id 地址为 https://ext.dcloud.net.cn/plugin?id=2116

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
复制 它 到common目录下

在这里插入图片描述
在这里插入图片描述

配置uni-id

配置文件为config.json

以下来自uni-id文档 https://uniapp.dcloud.io/uniCloud/uni-id

// 如果拷贝此内容切记去除注释
{
    "passwordSecret": "passwordSecret-demo", // 数据库中password字段是加密存储的,这里的passwordSecret即为加密密码所用的密钥,注意修改为自己的密钥,使用一个较长的字符串即可
    "tokenSecret": "tokenSecret-demo", // 生成token所用的密钥,注意修改为自己的,使用一个较长的字符串即可
    "tokenExpiresIn": 7200, // 全平台token过期时间,未指定过期时间的平台会使用此值
    "tokenExpiresThreshold": 600, // 新增于uni-id 1.1.7版本,checkToken时如果token有效期小于此值则自动获取新token,请注意将新token返回给前端保存,如果不配置此参数则不开启自动获取新token功能
    "bindTokenToDevice": true, // 是否将token和设备绑定,设置为true会进行ua校验,默认为true
    "passwordErrorLimit": 6, // 密码错误最大重试次数
    "passwordErrorRetryTime": 3600, // 密码错误重试次数超限之后的冻结时间
    "autoSetInviteCode": false, // 是否在用户注册时自动设置邀请码,默认不自动设置
    "forceInviteCode": false, // 是否强制用户注册时必填邀请码,默认为false(需要注意的是目前只有短信验证码注册才可以填写邀请码),设置为true时需要在loginBySms时指定type为register来使用注册,登录时也要传入type为login
  "removePermissionAndRoleFromToken": false, // 新增于uni-id 3.0.0版本,如果配置为false则自动缓存用户的角色、权限到token中,默认值为false。详细说明见https://uniapp.dcloud.io/uniCloud/uni-id?id=cachepermissionintoken
    "app-plus": {
        "tokenExpiresIn": 2592000,
        "oauth": {
            // App微信登录所用到的appid、appsecret需要在微信开放平台获取,注意:不是公众平台而是开放平台
            "weixin": {
                "appid": "weixin appid",
                "appsecret": "weixin appsecret"
            },
            "apple": { // 使用苹果登录时需要
                "bundleId": "your bundleId"
            }
        }
    },
    "mp-weixin": {
        "tokenExpiresIn": 259200,
        "oauth": {
            // 微信小程序登录所用的appid、appsecret需要在对应的小程序管理控制台获取
            "weixin": {
                "appid": "weixin appid",
                "appsecret": "weixin appsecret"
            }
        }
    },
    "mp-alipay": {
        "tokenExpiresIn": 259200,
        "oauth": {
            // 支付宝小程序登录用到的appid、privateKey请参考支付宝小程序的文档进行设置或者获取,https://opendocs.alipay.com/open/291/105971#LDsXr
            "alipay": {
                "appid": "alipay appid",
                "privateKey": "alipay privateKey", // 私钥
                "keyType": "PKCS8" // 私钥类型,如果私钥类型不是PKCS8,需要填写此字段,否则会出现“error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag”错误
            }
        }
    },
    "service": {
        "sms": {
            "name": "your app name", // 应用名称,对应短信模版的name
            "codeExpiresIn": 180, // 验证码过期时间,单位为秒,注意一定要是60的整数倍
            "smsKey": "your sms key", // 短信密钥key,开通短信服务处可以看到
            "smsSecret": "your sms secret" // 短信密钥secret,开通短信服务处可以看到
        },
        "univerify": {
      "appid": "your appid", // 当前应用的appid,使用云函数URL化,此项必须配置
            "apiKey": "your apiKey",// apiKey 和 apiSecret 在开发者中心获取,开发者中心:https://dev.dcloud.net.cn/uniLogin/index?type=0,文档:https://ask.dcloud.net.cn/article/37965
            "apiSecret": "your apiSecret"
        }
    }
}

根据需求配置即可

注册短信服务

在开发者后台 https://dev.dcloud.net.cn/

开通服务
在这里插入图片描述

根据业务需求 添加签名配置 然后在模板配置添加模板即可

在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。