多端应用开发指南①:如何简单高效的实现用户登录?
APP 应用,一次开发即可多端运营,有效帮助开发者降低多端应用的技术门槛和成本,提升开发效率和体验。两者差异性
在微信小程序中,你既可以通过「账号密码」、「手机号验证」等常见形式完成用户登录,也可以使用 wx.login 接口,无感获取当前运行用户的 code 令牌,然后通过 jscode2session 接口获取微信用户在该小程序的 openid 或在开放平台下的 unionid,从而确认用户身份。
由于小程序运行在微信客户端,并且微信客户端已经登录了用户微信账号,自然而然,在小程序中可以使用 wx.login 的形式“无感”完成身份确认过程,这是被绝大部分开发者采用的登录方案。
而在转换为「多端应用」时,由于 App 应用独立于微信客户端之外,和微信客户端同等运行在手机系统里。因此在「多端应用」中,无法直接像微信内小程序实现“无感”登录。
虽然在小程序多端框架 中,对 wx.login 做了适配,使得用户可以跳转微信客户端再打开小程序,授权后再跳转回来完成登录过程。但这个方式将原来的“无感”登录变为了“有感”,跳转次数比较多,便捷程度又比不上移动应用微信登录,不太推荐使用这种方式。
因此在转换多端应用中,最重要且关键的一个步骤就是:在多端应用中重新设计登录体系。
多端应用登录设计
经过长期的产品设计和技术演进,目前在 APP、WEB 应用中,已经有非常多的登录方式,你可以阅读《常见的登录方式》来了解各种登录设计,并尝试实现其中的一种或几种。
如果你不想自己实现,小程序多端框架秉承着简单好用的理念,提供一些常见的登录方式的封装,方便直接使用:
移动应用微信登录: 使用「微信开放平台-移动应用」的微信登录能力,从APP跳转到微信直接授权。
手机登录: 通过发送短信验证码或快速验证手机号组件的方式,让用户通过手机号来做身份认证。
此外,还有适配一些手机系统的默认登录方式。
以上所有登录方式,在登录后都有一个身份标识 user_id,并且支持多个登录方式绑定同一个身份标识;你可以通过接口解绑登录方式、注销账号、验证登录要素。
这意味着,多端框架在封装登录方式的基础上,也为开发者提供了一整套身份管理方案。可以轻松实现如下效果:
在用户主动操作授权的前提下,用户通过手机号验证码登录后,操作绑定微信账号;退出登录后再使用该微信账号重新登录,应用可以获取绑定的手机号,反过来也是如此。
你可以使用多端框架提供的登录方式和身份管理,同样也可以自己闭环实现。小程序多端框架并不会阻止你做自己的登录设计,而是会给你提供一系列的 API,帮助你能更简单做常见登录方式的实现。
轻松入门学习
你在开发多端应用,遇到一些理解误区或问题瓶颈时,推荐学习微信团队推出的《多端应用开发系列课程》。
关于本文介绍的多端应用登录方式的更多详细实现细节,你也可以在上述系列课程中学习到。
我们会根据产品能力演进及其更新和预告课程内容,如果你想深入小程序多端框架开发实践,欢迎持续学习本系列课程!