杂谈
最近在进行一些相关的课题,就写篇文章总结分享一下,如果有疑问或者观点也欢迎大家讨论。
抖音小程序本身就是模仿微信小程序而生的,尽管在规模和受欢迎程度上,尚需时间超越,但是从安全的角度来看抖音小程序是青出于蓝而胜于蓝。抖音小程序的身份识别采用的是和微信小程序类似的UnionID和OpenID结合。
UnionID机制说明
UnionID是在用户授权登录时,通过用户在同一开放平台(例如,微信开放平台)下多个小程序和公众号的OpenID之间的关联来生成的。如果开发者拥有多个移动应用、网站应用、和公众账号(包括小程序),可通过 UnionID 来区分用户的唯一性,因为只要是同一个抖音开放平台账号下的移动应用、网站应用和公众账号(包括小程序),用户的 UnionID 是唯一的。同一用户,对同一个抖音开放平台下的不同应用,UnionID应该是相同的。
(ps.在开发者论坛上有人提问过在老版本中,会出现抖音与抖音极速版用同一个号打开同一个小程序,但UnionID不同的情况)
UnionID的主要作用还是用于跨小程序和公众号之间识别同一用户的身份,允许开发者在不同应用之间共享用户信息和数据,以提供更一致的用户体验。
OpenID机制说明
每个用户在与某个小程序进行首次互动时,小程序会为该用户生成一个唯一的OpenID。OpenID是一种在移动应用、网站应用和公众账号(包括小程序)开发中至关重要的标识。OpenID是一个独一无二的用户标识,能够让开发者准确地识别和跟踪每位用户的行为和活动。无论用户在哪个抖音开放平台下的应用进行互动,他们的OpenID都将保持一致,确保了跨应用和跨平台之间的用户身份一致性。通过OpenID,开发者可以实现多种关键功能。首先,它用于用户登录和身份验证,确保只有授权的用户能够访问受限资源或执行敏感操作。其次,OpenID还能够帮助开发者建立用户画像,了解用户的偏好、行为模式和历史数据,以提供个性化的建议、内容和推荐。此外,OpenID还可以用于跟踪用户的购买历史、活动参与和社交互动,从而为市场营销和数据分析提供宝贵的信息。对于开发者来说,OpenID是构建用户友好的应用程序和公众号的重要工具,可以为用户提供一致的体验,无论他们是在哪个平台上进行互动。通过合理利用OpenID,开发者可以更好地满足用户需求,提高用户留存率,并获得更深入的洞察,以不断改进他们的应用和服务。
优势
上面提及的UnionID和OpenID是与微信的机制几乎相同的,而抖音小程序的优势则是源自母软件抖音的优势了,由于抖音本身对于登录状态的检测,在抖音小程序进行身份识别时有附有登录状态的session,当session发生变化时就需要身份就发生了变化,需要重新登录,而微信小程序则不会。就这一个小小的差别却让安全性产生了巨大的差距,微信就有远程非法登陆小程序的巨大问题,而抖音小程序远程登陆则需要重新登陆,如果有些无法一键登录需要进行验证,就不会出现远程非法登录问题。
总结
抖音小程序的身份识别就是UnionID和OpenID结合,并会检测登陆状态。小程序开发者可以通过抖音开放平台提供的开发工具和API来获取和管理用户的OpenID和UnionID。这些标识对于实现用户认证、个性化推荐、社交互动、数据分析和用户管理等功能至关重要,有助于提供更强大和用户友好的小程序体验。同时,开发者需要遵守隐私政策和用户数据保护规定,以确保用户数据的安全和隐私。总之,身份识别机制做的还是不错的。