小程序有两种登录方式,一种基于手机码进行登录,另一种是使用用户在公众下的唯一标识()进行登录(小程序是公众的一种).
接下来先讲解下,基于 登录。
先看下图,描述通过微信小程序提供的 换取当前用户在小程序中的唯一标识,详细流程可以参数下图:
接下来通过代码实现下大概流程:
获取
服务端接收 去微信后台换取对应
在数据库中查找对应 是否存在
上面就是一个基于 获取 ,并通过 创建新的用户,并将创建好的用户返回。
为了方便理解,这里简化描述了登录逻辑。在实际业务代码中,通常会使用 、 和用户信息来创建自定义登录凭证(),并在登录时将用户信息和 一起返回给前端。前端会将 存储在本地,并在下一次需要登录的业务请求中携带 ,从而实现业务鉴权的功能。这种方式通常使用 等工具来实现。在后续的讲解中,我们将详细介绍这些概念和技术细节。
获取手机码的前提:
非个人小程序认证的小程序非海外的企业认证
下面是大概业务流程图:
获取对应
后端处理逻辑
上面代码,实现获取手机码并使用手机码作为唯一标识,进行用户创建和查找的操作。
从登录的角度来看,使用手机码作为唯一标识符是没有问题的。然而,如果用户尝试使用非手机码(例如 )进行登录,并在数据库中找不到匹配的记录时,系统会创建一个新的账。这可能导致同一个用户在系统中存在多个账的情况。
为了优化这种情况,可以考虑以下几种方法:
当用户使用 登录后,检测未绑定手机码时,进行码绑定当用户使用手机码登录时,提前调用 获取对应 ,换取 把他与手机码进行关联
现在基于上面的代码,采用第二种方案,只需要微调下代码就能解决这个问题。
登录时把 获取 传递给后端
服务端基于 换取
这种方案被视为最佳的解决方案,能够有效解决多账和绑定手机码等问题。 实际上,采用哪种方式取决于具体的业务场景,因为在某些情况下,用户可能会担心手机码泄露而不愿采用这种方式。
注意
获取手机码是需要收费,每次调用需要 元。 与 中获取的 不是同一个
基于 或 手机码快捷登录获取手机码前置条件如何解决多账的问题讲解前端、后端、微信登录过程中完整交互流程,方便更好去理解小程序登录
以上就是微信小程序常见的两种登录方式详解的详细内容,更多关于小程序登录方式的资料请关注脚本之家其它!