全部产品
Search
文档中心

SuperApp:授权说明

更新时间:Jul 07, 2025

授权唤起方式

唤起方式

组合授权

备注

wv.authorize

全局支持

  • 获取用户设备信息。

  • 提前向用户发起授权请求。调用后会立刻弹窗询问用户是否同意授权小程序使用某项功能,或获取用户的某些数据,但不会实际调用对应接口。如:相机、获取地理位置等功能。

  • 如果用户之前已经同意授权,则不会出现弹窗,直接返回成功。

wv.getAuthCode

全局支持

  • 获取用户个人信息。

  • scope可自定义。

wv.authorize 用户设备信息授权流程

前提条件

接入准备

  • 小程序调用设备信息相关的 API(如WVLocation.getLocation、WVVideo.chooseVideo)时,APP需要弹出授权提示框,由用户决定是否授权给当前小程序。小程序开发者可通过 wv.getSetting 获取当前小程序的授权状况。

  • 使用需要授权的 API 时,需要用户在两个层次上完成授权:1,在APP内授权给小程序;2,在系统级别开启对应功能并授权给APP。

  • 两层授权状态相互独立。如果小程序已经获得了使用某项设备信息的用户授权,但App还没有获得对应的系统权限,小程序调用 API 时,容器会自动触发系统弹窗与用户确认是否授权给App,小程序也可以通过 WVUIDialog.showAuthGuide API 来引导用户去系统设置页面给 App 开启系统权限。

小程序授权相关的逻辑

在用户未对小程序授权的情况下,小程序调用需要权限的 API,需要先调用wv.authorize, App会向用户弹出授权提示框:

  • 如果用户同意,小程序便可以继续调用设备信息获取的 API 执行,且后续该 API 调用时不会再弹出授权提示框;

  • 如果用户拒绝,将直接触发 fail 回调,提示用户取消授权;后续再调用 API 时,还会向用户弹出授权提示框;

建议小程序开发者在调用需要用户授权的 API 前,先调用 wv.getSetting 方法查询小程序的用户授权状态,如果未获得用户授权则调用 wv.authorize方法,最后再调用需要授权的API。

系统级权限相关的逻辑

如果某个 API 所需的特定权限,用户并未在系统中开启或者未授权给App,那么即使用户同意将该权限授权给当前小程序,API 的调用仍会失败。一般来说,小程序对该 API 的首次调用也会触发APP向系统申请权限,用户会看到相应的授权提示或者引导界面;用户拒绝并勾选'不再询问',则可能直接触发 fail 回调, 小程序开发者可以通过调用 WVUIDialog.showAuthGuide拉起系统权限设置页面,引导用户手动开启权限。

wv.getAuthCode 用户个人信息授权流程

wv.getAuthCode 引导用户授权其个人信息给当前小程序(如用户姓名、联系方式),会弹出授权引导浮窗。建议在用户充分了解小程序的业务内容后,小程序再调用wv.getAuthCode,避免在小程序首屏调用 wv.getAuthCode,损害用户体验。

通过 wv.getAuthCode 所取得的代表用户授权的授权码(authCode),后续需由小程序服务端使用,向平台换取实际用户个人信息(如user_id、头像、昵称、手机号、地区、性别、出生日期等)。

阿里云 SuperApp 应用开放平台提供了 wv.getAuthCode 的 API 标准定义,但由于平台自身不掌握客户 SuperApp 的用户信息,所以该 API 的实现需要由 SuperApp 的开发者完成,实现方案可以参考:SuperApp技术标准实现最佳实践

scope管控

一个scope表示开发者需要请求用户授权的权限范围。

  • 权限管控scope录入。

  • 敏感信息相关的scope需要用户主动发起授权,而非后台触发授权弹窗。

scopes

对应接口

含义

唤起方式

USER_ID

-

授权获取App用户的唯一标识(user_id)。此方式为静默授权,不会弹出授权浮窗。

授权API:wv.getAuthCode

USER_NICKNAME

-

授权获取App用户的昵称。

USER_NAME

-

授权获取App用户的名称。

USER_LOGIN_ID

-

授权获取App用户的登录ID。

HASH_LOGIN_ID

-

授权获取App用户登录ID的hash值。

USER_AVATAR

-

授权获取App用户的头像。

USER_GENDER

-

授权获取App用户的性别。

USER_BIRTHDAY

-

授权获取App用户的生日。

USER_NATIONALITY

-

授权获取App用户的国籍。

USER_CONTACTINFO

-

授权获取App用户的联系方式。

auth_base

-

授权获取App用户的唯一标识(user_id)。此方式为静默授权,不会弹出授权浮窗。

auth_user

-

授权获取App账户信息。

location

WVLocation.getLocation;WVLocation.searchLocation

地理位置授权

授权API:wv.authorize

camera

WVScan.scan

相机授权

bluetooth

WVBluetooth涉及所有方法

蓝牙授权

album

WVVideo.chooseVideo;WVCamera.takePhoto

相册授权

contacts

WVContacts涉及所有方法

通讯录授权

microphone

WVMotion.listenBlow ;WVMotion.stopListenBlow

麦克风授权

file

WVVideo.saveVideoToPhotosAlbum ;WVImage.saveImage

文件授权

call

WVCall.dial ;WVCall.call

电话授权

vibrate

WVMotion.vibrate

震动授权

screen

WVMotion.vibrate

截屏授权