获取用户信息授权,取得授权码(authCode)。
概述
wv.getAuthCode引导用户授权其信息给当前小程序,会弹出授权引导浮窗。请在用户充分了解小程序的业务内容后再调用wv.getAuthCode,避免在小程序首屏调用wv.getAuthCode,损害用户体验。
通过wv.getAuthCode所取得的代表用户授权的授权码(authCode),后续需由小程序服务端使用,向平台换取实际信息(如user_id、头像、昵称、手机号、地区、性别、出生日期等)。
入参
Object类型,参数如下:
参数 | 类型 | 必填 | 描述 |
scopes | Array | 否 | 授权类型。支持 auth_base、auth_user,参见下文scopes 说明。默认值auth_base。 |
success | Function | 否 | 调用成功的回调函数。 |
fail | Function | 否 | 调用失败的回调函数。 |
scopes说明
一个scope表示开发者需要请求用户授权的权限范围。
scopes | 含义 | 后续链路 |
USER_ID | 授权获取App用户的唯一标识(user_id)。此方式为静默授权,不会弹出授权浮窗。 | 将小程序获取的auth_code传入服务端以获取用户唯一标识(user_id)。 |
USER_NICKNAME | 授权获取App用户的昵称。 | 将小程序获取的auth_code传入服务端以获取用户已授权的信息。 |
USER_NAME | 授权获取App用户的名称。 | 将小程序获取的auth_code传入服务端以获取用户已授权的信息。 |
USER_LOGIN_ID | 授权获取App用户的登录ID。 | 将小程序获取的auth_code传入服务端以获取用户已授权的信息。 |
HASH_LOGIN_ID | 授权获取App用户的登录ID的hash值。 | 将小程序获取的auth_code传入服务端以获取用户已授权的信息。 |
USER_AVATAR | 授权获取App用户的头像。 | 将小程序获取的auth_code传入服务端以获取用户已授权的信息。 |
USER_GENDER | 授权获取App用户的性别。 | 将小程序获取的auth_code传入服务端以获取用户已授权的信息。 |
USER_BIRTHDAY | 授权获取App用户的生日。 | 将小程序获取的auth_code传入服务端以获取用户已授权的信息。 |
USER_NATIONALITY | 授权获取App用户的国籍。 | 将小程序获取的auth_code传入服务端以获取用户已授权的信息。 |
USER_CONTACTINFO | 授权获取App用户的联系方式。 | 将小程序获取的auth_code传入服务端以获取用户已授权的信息。 |
auth_base | 授权获取App用户的唯一标识(user_id)。此方式为静默授权,不会弹出授权浮窗。 | 将小程序获取的auth_code传入服务端以获取用户唯一标识(user_id)。 |
auth_user | 授权获取App账户信息。 | 将小程序获取的auth_code传入服务端以获取用户已授权的信息。 |
出参
success回调函数会收到一个 Object 类型的对象,其属性如下:
属性 | 类型 | 描述 |
authCode | String | 授权码。 |
authErrorScopes | Object | 失败的授权类型,key是授权失败的scope,value是对应的错误码。 |
authSuccessScopes | Array | 成功的授权scope。 |
用户的每次授权动作都会生成一个新的auth_code。
fail回调函数会收到一个Object类型的对象,其error字段为错误码,errorMessage为错误信息:
错误码 | 错误信息 | 解决方案 |
11 | 用户取消授权 | 充分说明获取用户信息的用途和必要性,重新引导操作。 |
12 | Network Error | 授权相关网络请求失败或超时,请稍后重试。 |
13 | 未找到授权结果 | scopes入参包含无效值,请检查scopes参数。 |
示例代码
window.WindVane.call('wv', 'getAuthCode', {scopes: ['auth_user']}, function(res) {
authCode = res.authCode;
}, function(e) {
alert('failure:' + JSON.stringify(e));
});