小程序之间openid共享
小程序之间可以通过微信开放文档中提到的跨账号环境共享功能来实现OpenID的共享。这一功能允许一个小程序的云开发资源授权共享给同主体下的其他小程序或公众号使用,从而实现资源的复用和能力的复用。以下是具体步骤和注意事项:
实现步骤
- 开通环境共享能力:使用1.03.2009140或以上版本的开发者工具,进入云控制台,到“设置 - 拓展能力 - 环境共享”点击开通即开通环境共享能力。
- 共享环境:环境共享开通后,在“环境共享”的页面,点击“添加共享”,即可授权同主体下其他小程序/公众号使用当前小程序下的云开发资源。
- 使用cloudbase_auth云函数进行鉴权:在使用共享环境之前,需要保证资源方拥有cloudbase_auth云函数,用于鉴权调用方的身份并制定相关权限。在调用方cloud.init()的过程中,会首先执行这个函数。
注意事项
- 授权粒度:授权粒度细,可以只授权云函数调用权限而不授权修改权限。
- 单层级授权:单层级授权保证了安全,如A有B的授权,B有C的授权,但A没有C的授权,此时A可以调B但不能直接调C。
- 未开通云开发的小程序:未开通云开发的小程序无法进入云开发控制台,如被同主体的其他小程序共享环境后,默认允许未开通云开发的小程序可进入云开发控制台,且默认开通“环境共享”功能。
通过上述步骤,小程序可以实现OpenID的共享,但需要注意授权的细粒度和安全性。