oauth常见问题我要提意见
OAuth模块管理客户端的用户登录鉴权功能,允许应用访问第三方平台的资源。
OAuth接口支持开发者调用当前环境中安装的三方客户端App(如微信、微博等)的授权登录页面进行鉴权操作。 若终端安装了对应的客户端App,则调用客户端的授权登录页面,否则调用WAP页面进行授权登录。
方法:
- getServices: 获取登录鉴权列表
对象:
- AuthService: 登录鉴权服务对象
- AppleInfo: 苹果登录认证信息
- AuthOptions: JSON对象,授权认证参数选项
- AuthInfo: 登录授权认证信息
- UserInfo: 登录授权用户信息
- UniverifyStyles: 一键登录授权界面样式参数
- UniverifyIconStyles: 一键登录授权界面图标样式参数
- UniverifyPhoneNumStyles: 一键登录授权界面电话号码文本样式参数
- UniverifySloganStyles: 一键登录授权界面服务说明文字样式参数
- UniverifyAuthButtonStyles: 一键登录授权界面登录按钮样式参数
- UniverifyOtherButtonStyles: 一键登录授权界面其它按钮样式参数
- UniverifyPrivacyTermsStyles: 一键登录服务协议样式参数
- UniverifyPrivacyItemStyles: 自定义服务协议链接样式参数
- UniVerifyButtonsStyles: 自定义登录按钮列表样式
- UniVerifyButtonStyles: 自定义登录按钮样式
回调方法:
- ServicesSuccessCallback: 获取登录授权认证服务成功回调
- AuthorizeSuccessCallback: 授权认证成功回调函数
- LogoutSuccessCallback: 注销登录授权认证操作成功回调函数
- SuccessCallback: 登录授权认证服务操作成功回调函数
- ErrorCallback: 登录授权认证服务操作失败回调函数
权限:
permissions
{
// ...
"permissions":{
	// ...
	"OAuth": {
		"description": "登录鉴权"
	}
}
}
			getServices
获取登录鉴权列表
void plus.oauth.getServices( successCB, errorCB );
				说明:
获取终端支持的权登录认证服务列表,可用于提示用户进行登录平台的选择。 获取登录鉴权成功后通过successCB回调返回支持的所有服务列表,获取服务失败则通过errorCB回调返回失败信息。
参数:
- successCB: 
		(
			ServicesSuccessCallback
			)
			必选 获取登录鉴权服务成功回调函数获取登录鉴权服务列表成功时触发回调,并返回当前环境支持的登录鉴权服务列表。 
- errorCB: 
		(
			ErrorCallback
			)
			可选 获取登录鉴权服务失败回调函数获取登录鉴权服务列表失败时触发回调,并返回错误信息。 
返回值:
void : 无示例:
// 微信登录鉴权服务
var aweixin=null;
// 当前环境支持的所有登录鉴权服务
var auths = {};
// 获取登录鉴权服务列表,单独保存微信登录鉴权服务对象
// 5+APP在plusready事件中调用,uni-app在vue页面的onLoad中调用
function getService(){
	plus.oauth.getServices(function(services){
		for(var i in services){
			auths[service.id]=service;
		}
		aweixin = auths['weixin'];
	}, function(e){
		plus.nativeUI.alert("获取登录鉴权服务列表失败:"+JSON.stringify(e));
	} );
}
				AuthService
登录鉴权服务对象
interface plus.oauth.AuthService {
	// Attributes
	attribute String id;
	attribute String description;
	attribute Boolean nativeClient;
	attribute AppleInfo appleInfo;
	attribute AuthInfo authResult;
	attribute UserInfo userInfo;
	attribute JSON extra;
	
	// Methods 
	function void authorize(successCallback, errorCallback, options);
	function void closeAuthView();
	function void login(successCallback, errorCallback, options);
	function void logout(successCallback, errorCallback);
	function void getUserInfo(successCallback, errorCallback);
	function void preLogin(successCallback, errorCallback);
}
				说明:
AuthService对象用于表示登录鉴权服务,在JS中为对象,用于发起登录授权认证操作。
属性:
- id: 登录鉴权服务标识
- description: 登录鉴权服务描述
- nativeClient: 授权登录依赖的客户端App是否已安装
- appleInfo: 苹果登录认证数据
- authResult: 登录认证数据
- userInfo: 登录用户信息
- extra: 登录授权认证扩展信息
方法:
- authorize: 请求授权认证
- closeAuthView: 关闭授权登录界面
- login: 请求登录认证
- logout: 注销登录认证
- getUserInfo: 获取用户信息
- preLogin: 预登录
id
登录鉴权服务标识
说明:
String 类型 只读属性
用于表示登录鉴权服务标识:
- "weixin" - 表示微信登录鉴权
- "qq" - 表示QQ登录鉴权
- "sinaweibo" - 表示新浪微博登录鉴权
- "xiaomi" - 表示小米登录鉴权
- "apple" - 表示苹果登录(仅iOS13+系统支持)
- "univerify" - 表示一键登录(HBuilderX3.0.0+版本支持),详情参考一键登录使用指南
- "google" - 表示Google登录(HBuilderX3.2.7+版本支持)
- "facebook" - 表示Facebook登录(HBuilderX3.2.7+版本支持)
description
登录鉴权服务描述
说明:
String 类型 只读属性 可选属性
用于描述登录鉴权服务的信息:
- "微信" - 表示微信登录鉴权;
- "QQ" - 表示QQ登录鉴权;
- "新浪微博" - 表示新浪微博登录鉴权;
- "小米" - 表示小米登录鉴权;
- "Apple" - 表示苹果登录;
- "一键登录" - 表示一键登录(HBuilderX3.0.0+版本支持),详情参考一键登录使用指南
- "Google" - 表示Google登录(HBuilderX3.2.7+版本支持)
- "Facebook" - 表示Facebook登录(HBuilderX3.2.7+版本支持)
nativeClient
授权登录依赖的客户端App是否已安装
说明:
Boolean 类型 只读属性
	对于某些登录鉴权服务,必须依赖相应客户端App才能实现授权操作;有些登录鉴权服务则无需客户端App,或者依赖的客户端App不存在时调用WAP页面进行授权操作。
	具体情况如下:
	
- 微信 - 依赖微信客户端App
- QQ - 依赖QQ客户端App
- 新浪微博 - 不依赖微博客户端App,不存在是调用WAP页面登录授权操作
- 小米登录 - 无需客户端App
- 苹果登录 - 无需客户端App
- 一键登录 - 无需客户端App
- Google登录 - 无需客户端App
- Facebook登录 - 无需客户端App
HBuilderX3.1.19及以上版本支持。
appleInfo
苹果登录认证数据
说明:
AppleInfo 类型 只读属性 可选属性
调用login登录认证成功后保存的苹果认证信息。
authResult
登录认证数据
说明:
AuthInfo 类型 只读属性 可选属性
调用login登录认证成功后保存的认证信息。 如果值为"undefined"则表示未进行登录认证或者登录认证失败。
userInfo
登录用户信息
说明:
UserInfo 类型 只读属性 可选属性
调用用于保存登录授权认证获取的用户信息,如果值为"undefined"则表示未获取过用户信息。
extra
登录授权认证扩展信息
说明:
JSON 类型 只读属性 可选属性
用于保存登录鉴权服务返回的扩展信息,具体内容由各登录平台决定,如果没有扩展信息则为undefined。 例如“微信”,则可保存以下数据: state - 用于保持请求和回调的状态参数。
authorize
请求授权认证
						
void obj.authorize(successCallback, errorCallback, options);
						
						说明:
向开放平台请求进行授权认证,需提供授权域(scope),用户在终端确认后通过成功回调返回授权临时票据(code)。 开发者可以将授权临时票据(code)提交到业务服务器,由业务服务器从微信开放平台获取授权登录等相关信息,避免将appsecret等信息保存在客户端可能引起泄露的问题。 注意:目前仅微信平台支持请求授权认证,其它平台调用此方法将返回错误回调。
参数:
- successCallback: 
		(
			AuthorizeSuccessCallback
			)
			必选 成功回调函数授权认证操作成功时触发,并返回授权票据(code)。 
- errorCallback: 
		(
			ErrorCallback
			)
			可选 错误回调函数授权认证操作失败时触发,并返回错误信息(code&message). 
- options: 
		(
			AuthOptions
			)
			可选 授权认证的参数授权认证平台支持的参数,微信开放平台支持: scope - 申请的权限作用范围; state - 自定义数据,成功回调时返回; appid - 开放平台申请的应用标识,如果不配置,则使用应用打包时配置的appid。 
返回值:
void : 无示例:
// 微信授权登录对象
var aweixin=null;	// 调用plus.oauth.getServices获取保存
// 获取微信登录授权对象后可进行授权操作
function authorize(){
	if(!aweixin){
		plus.nativeUI.alert("当前环境不支持微信登录");
		return;
	}
	aweixin.authorize(function(e){
		plus.nativeUI.alert("授权成功:"+JSON.stringify(e));
	}, function(e){
		plus.nativeUI.alert("授权失败:"+JSON.stringify(e));
	}, {scope:'snsapi_userinfo',state:'authorize test',appid:'WX**********'});
}
						closeAuthView
关闭授权登录界面
						
void obj.closeAuthView();
						
						说明:
仅一键登录支持,请求登录认证操作完成后,不管成功或失败都不会关闭一键登录界面,需要主动调用此方法关闭。 客户端登录认证完成只是说明获取 access_token 成功,需要将此数据提交到服务器获取手机号码,完成业务服务登录逻辑后通知客户端关闭登录界面。 详情参考https://uniapp.dcloud.io/univerify
参数:
无
返回值:
void : 无login
请求登录认证
						
void obj.login(successCallback, errorCallback, options);
						
						说明:
	在登录前可通过对象的authResult属性判断是否已经登录认证过,通常只需对没有登录认证过的服务进行此操作。
	登录后可获取应用的基础信息(如用户昵称等)保存在authResult属性中。
	登录操作成功后通过successCallback回调函数通知,失败则通过errorCallback回调函数通知。
	
	注意,由于业务需求的差异,不同授权登录平台返回数据的处理逻辑可能不同:
	
- 微信登录 - 在客户端配置appSecret可能存在参数泄露的隐患,可以在客户端获取授权临时票据(code)后提交到业务服务器,有业务服务器向微信开放平台获取详细信息,详情参考https://ask.dcloud.net.cn/article/192
- 一键登录 - 授权登录在客户端仅可以openid和access_token,需要将此数据提交业务服务器换手机号码,详情参考https://uniapp.dcloud.io/univerify
参数:
- successCallback: 
		(
			SuccessCallback
			)
			必选 登录认证成功回调函数登录认证操作成功时触发,并返回登录认证成功信息。 
- errorCallback: 
		(
			ErrorCallback
			)
			可选 登录认证失败回调函数登录认证操作失败时触发,并返回错误信息。 
- options: 
		(
			AuthOptions
			)
			可选 登录认证参数登录认证使用的额外参数。 
返回值:
void : 无示例:
// 微信授权登录对象
var aweixin=null;	// 调用plus.oauth.getServices获取保存
// 通常登录前需要先调用authorize方法进行授权
// 获取微信登录授权对象后可进行登录认证操作
function authLogin(){
	if(!aweixin){
		plus.nativeUI.alert("当前环境不支持微信登录");
		return;
	}
	if(!aweixin.authResult){
		aweixin.login(function(e){
			plus.nativeUI.alert("登录认证成功!");
		}, function(e){
			plus.nativeUI.alert("登录认证失败: "+JSON.stringify(e));
		} );
	}else{
		plus.nativeUI.alert("已经登录认证!");
	}
}
						logout
注销登录认证
void obj.logout(successCallback, errorCallback);
						说明:
注销登录认证后,再次获取用户信息时需重新进行授权登录认证操作。 如果第三方平台不需要注销登录操作,则清空保存的登录认证等信息。
参数:
- successCallback: 
		(
			LogoutSuccessCallback
			)
			必选 注销登录认证成功回调函数注销登录认证操作成功时触发。 
- errorCallback: 
		(
			ErrorCallback
			)
			可选 注销登录认证失败回调函数注销登录认证操作失败时触发,并返回错误信息。 
返回值:
void : 无示例:
// 微信授权登录对象
var aweixin=null;	// 调用plus.oauth.getServices获取保存
// 调用authorize、login先授权登录认证
// 注销登录认证
function authLogout(){
	if(!aweixin){
		plus.nativeUI.alert("当前环境不支持微信登录");
		return;
	}
	aweixin.logout(function(e){
		plus.nativeUI.alert("注销登录认证成功!");
	}, function(e){
		plus.nativeUI.alert("注销登录认证失败: "+JSON.stringify(e));
	});
}
						getUserInfo
获取用户信息
void obj.getUserInfo(successCallback, errorCallback);
						说明:
在获取用户信息前可通过对象的userInfo属性判断是否已经获取过,通常只需对没有获取过用户信息的服务进行此操作。 获取用户信息成功后通过successCallback回调函数通知,失败则通过errorCallback回调函数通知。
参数:
- successCallback: 
		(
			SuccessCallback
			)
			必选 获取登录授权用户信息成功回调函数获取登录认证用户信息操作成功时触发,并返回用户的信息。 
- errorCallback: 
		(
			ErrorCallback
			)
			可选 获取登录授权用户信息失败回调函数获取登录认证用户信息操作失败时触发,并返回错误信息。 
返回值:
void : 无示例:
// 微信鉴权服务对象
var aweixin=null;	// 调用plus.oauth.getServices获取保存
// 通常登录前需要先调用authorize方法进行授权,调用login方法进行登录认证
// 获取微信登录授权对象后获取用户信息操作
function authUserInfo(){
	if(!aweixin){
		plus.nativeUI.alert("当前环境不支持微信登录");
		return;
	}
	if(aweixin.authResult){
		aweixin.getUserInfo( function(e){
			plus.nativeUI.alert("获取用户信息成功:"+JSON.stringify(aweixin.userInfo));
		}, function(e){
			plus.nativeUI.alert("获取用户信息失败: "+JSON.stringify(e));
		} );
	}else{
		plus.nativeUI.alert("未登录认证!");
	}
}
						preLogin
预登录
						
void obj.preLogin(successCallback, errorCallback);
						
						说明:
仅一键登录支持,在登录授权认证前调用,可以判断当前设备环境是否支持一键登录,如果能支持一键登录,此时可以显示一键登录选项,同时预登录会准备好相关环境,显著提升一键登录授权认证的操作速度。 如果预登录失败,表示当前设备环境可能不支持一键登录,此时应该显示其他登录选项。
参数:
- successCallback: 
		(
			SuccessCallback
			)
			必选 预登录成功回调函数预登录操作成功时触发。 
- errorCallback: 
		(
			ErrorCallback
			)
			可选 预登录失败回调函数预登录操作失败时触发,并返回错误信息。 
返回值:
void : 无AppleInfo
苹果登录认证信息
interface plus.oauth.AppleInfo {
	attribute String user;
	attribute String state;
	attribute String email:
	attribute JSON fullName;
	attribute String authorizationCode;
	attribute String identityToken;
	attribute Number realUserStatus;
	attribute String scope;
}
				说明:
此对象仅在使用苹果登录时有效,用于保存苹果登录返回的数据。
属性:
- user: (String
	类型
)苹果用户唯一标识符
 
- state: (String
	类型
)验证信息状态
 
- email: (String
	类型
)用户共享的可选电子邮件
 
- fullName: (JSON
	类型
)用户共享的可选全名可能包括以下属性: namePrefix - String类型,名字前缀,头衔、敬称; givenName - String类型,名字; middleName - String类型,中间名; familyName - String类型,姓; nameSuffix - String类型,名字后缀,学位、荣誉; nickName - String类型,昵称。 
- authorizationCode: (String
	类型
)验证数据
 
- identityToken: (String
	类型
)Web令牌(JWT)
 
- realUserStatus: (Number
	类型
)标识用户是否为真实的人0 - 当前平台不支持,忽略该值; 1 - 无法确认; 2 - 用户真实性非常高。 
平台支持:
- Android - ALL (不支持)
- iOS
							- 13+
						(支持)
						:
							HBuilderX2.3.7+版本支持苹果登录。 
AuthOptions
JSON对象,授权认证参数选项
interface plus.oauth.AuthOptions {
	attribute String scope;
	attribute String state;
	attribute String appid;
	attribute String appkey;
	attribute String appsecret;
	attribute String redirect_uri;
	attribute UniverifyStyles univerifyStyle;
}
				说明:
此对象支持的属性值由登录授权认证服务定义。 例如“微信”,则可配置以下参数: scope - 应用授权作用域; state - 用于保持请求和回调的状态参数。
属性:
- scope: (String
	类型
)申请的权限作用范围如果存在多个权限,则以","符号分割。 
- state: (String
	类型
)客户端的当前状态,可以指定任意值,登录认证后原封不动的返回保存到AuthService对象的extra中
 
- appid: (String
	类型
)登录授权认证服务平台申请的appid动态设置登录授权服务中需要使用的appid,仅需要此参数的登录授权服务(如“微信登录”、“QQ登录”)支持。 如果未设置则使用运行环境中内置的appid值(如在HBuilder中可在manifest.json的SDK配置项中进行设置)。 
- appkey: (String
	类型
)登录授权认证服务平台申请的appkey动态设置登录授权服务中需要使用的appkey,仅需要此参数的登录授权服务(如“新浪微博登录”)支持。 如果未设置则使用运行环境中内置的appkey值(如在HBuilder中可在manifest.json的SDK配置项中进行设置)。 
- appsecret: (String
	类型
)登录授权认证服务平台申请的appsecret动态设置登录授权服务中需要使用的appsecret,仅需要此参数的登录授权服务(如“微信登录”、“新浪微博登录”)支持。 如果未设置则使用运行环境中内置的appkey值(如在HBuilder中可在manifest.json的SDK配置项中进行设置); 当开放平台申请的appsecret值涉及到安全问题时,可在应用运行时从服务器获取,然后通过此api动态设置。 
- redirect_url: (String
	类型
)登录授权认证服务平台申请的redirect_url动态设置登录授权服务中需要使用的redirect_url,仅需要此参数的登录授权服务(如“新浪微博登录”)支持。 如果未设置则使用运行环境中内置的redirect_url值(如在HBuilder中可在manifest.json的SDK配置项中进行设置)。 
- univerifyStyle: (UniverifyStyles
	类型
)一键登录授权界面自定义样式HBuilderX3.0.0+支持一键登录,此参数用于设置一键登录的授权界面样式,参考UniverifyStyles 
示例:
// 微信授权登录对象
var aweixin=null;	// 调用plus.oauth.getServices获取保存
// 获取微信登录授权对象后可进行授权操作
function authorize(){
	if(!aweixin){
		plus.nativeUI.alert("当前环境不支持微信登录");
		return;
	}
	aweixin.authorize(function(e){
		plus.nativeUI.alert("授权成功:"+JSON.stringify(e));
	}, function(e){
		plus.nativeUI.alert("授权失败:"+JSON.stringify(e));
	}, {scope:'snsapi_userinfo',appid:'WX**********'});
}
				AuthInfo
登录授权认证信息
interface plus.oauth.AuthInfo {
	attribute String access_token;
	attribute String openid;
	attribute String expires_in:
	attribute String refresh_token;
	attribute String scope;
}
				说明:
此对象仅定义标准属性,登录授权认证服务可扩展自定义数据。 例如“微信”登录授权服务,则包括以下数据: unionid - 用户统一标识,针对一个微信开放平台帐号下的应用,同一用户的unionid是唯一的。
属性:
- access_token: (String
	类型
)登录授权的访问令牌如果登录授权服务不支持此属性,则返回"undefined"。 
- openid: (String
	类型
)登录授权用户的唯一标识如果登录授权服务不支持此属性,则返回"undefined"。 
- expires_in: (String
	类型
)登录授权访问令牌过期时间单位为秒,如果登录授权服务不支持此属性,则返回"undefined"。 
- refresh_token: (String
	类型
)登录授权的更新令牌用来获取下一次的访问令牌,如果登录授权服务不支持此属性,则返回"undefined"。 
- scope: (String
	类型
)登录授权的权限范围如果存在多个权限,则以","符号分割。 
UserInfo
登录授权用户信息
interface plus.oauth.UserInfo {
	attribute String openid;
	attribute String headimgurl:
	attribute String nickname;
	attribute String email;
	attribute String phonenumber;
	attribute String sex;
	attribute String province;
	attribute String city;
	attribute String country;
	attribute String unionid;
}
				说明:
用于保存登录授权用户的信息。 此对象仅定义标准属性,登录授权认证服务可扩展自定义数据。 例如“微信”登录授权服务,可能包括以下自定义数据:
- privilege - 用户特权信息,json数组,如微信沃卡用户为(chinaunicom)
属性:
- openid: (String
	类型
)登录授权用户的唯一标识如果登录授权服务不支持此属性,则返回"undefined"。 
- headimgurl: (String
	类型
)登录授权用户的头像图片地址要求为"http://"或"https://"开头的地址,如果登录授权服务不支持此属性,则返回"undefined"。 
- nickname: (String
	类型
)登录授权用户的昵称如果登录授权服务不支持此属性,则返回"undefined"。 
- email: (String
	类型
)登录授权用户的邮箱地址如果登录授权服务不支持此属性,则返回"undefined"。 
- phonenumber: (String
	类型
)登录授权用户的电话号码如果登录授权服务不支持此属性,则返回"undefined"。 
- sex: (String
	类型
)登录授权用户的性别1为男性,2为女性。 如果登录授权服务不支持此属性,则返回"undefined"。 
- province: (String
	类型
)登录授权用户注册的省份信息如果登录授权服务不支持此属性,则返回"undefined"。 
- city: (String
	类型
)登录授权用户注册的城市信息如果登录授权服务不支持此属性,则返回"undefined"。 
- country: (String
	类型
)登录授权用户注册的国家信息如果登录授权服务不支持此属性,则返回"undefined"。 
- unionid: (String
	类型
)用户统一标识针对同一个登录授权服务平台帐号下的应用,同一用户的unionid是唯一的。 
 如果登录授权服务不支持此属性,则返回"undefined"。
 注意:仅微信及QQ平台支持,QQ平台HBuilderX3.0.0+版本支持,需在QQ开放平台申请才能获取。
UniverifyStyles
一键登录授权界面样式参数
interface plus.oauth.UniverifyStyles {
	attribute Boolean fullScreen;
	attribute String backgroundColor;
	attribute String backgroundImage;
	attribute UniverifyIconStyles icon;
	attribute UniverifyIconStyles closeIcon;
	attribute UniverifyPhoneNumStyles phoneNum;
	attribute UniverifySloganStyles slogan;
	attribute UniverifyAuthButtonStyles authButton;
	attribute UniverifyOtherButtonStyles otherLoginButton;
	attribute UniverifyPrivacyTermsStyles privacyTerms;
	attribute UniVerifyButtonsStyles buttons;
}
				说明:
	用于一键登录授权界面自定义样式。
	HBuilderX3.0.0+版本支持,详情参考一键登录使用指南。
				
属性:
- fullScreen: (Boolean
	类型
)是否全屏模式true表示全屏模式,false表示非全屏模式,默认值为false。 
 注意:HBuilderX3.1.5+版本支持。
- backgroundColor: (String
	类型
)授权界面背景颜色格式为"#RRGGBB",默认值为"#FFFFF"。 
- backgroundImage: (String
	类型
)背景图片
 
- icon: (UniverifyIconStyles
	类型
)授权界面图标样式可设置自定义图标,默认为应用图标。 
- closeIcon: (UniverifyIconStyles
	类型
)关闭按钮图标样式设置自定义关闭图标,不支持设置图标大小(忽略width/height属性)。 
 HBuilderX3.3.7+版本支持。
- phoneNum: (UniverifyPhoneNumStyles
	类型
)授权界面电话号码样式可设置自定义电话号码文字颜色、大小等。 
- slogan: (UniverifySloganStyles
	类型
)授权界面服务说明样式可设置自定义服务说明文字颜色、大小等。 
- authButton: (UniverifyAuthButtonStyles
	类型
)授权界面登录按钮样式可设置自定义登录按钮背景颜色、文本内容、大小等。 
- otherLoginButton: (UniverifyOtherButtonStyles
	类型
)授权界面其他登录按钮样式可设置自定义其他登录按钮背景颜色、文本内容、大小等。 
- privacyTerms: (UniverifyPrivacyTermsStyles
	类型
)授权界面服务协议样式自定义设置服务器协议文字颜色、文本内容,添加自定义服务协议链接等。 
- buttons: (UniVerifyButtonsStyles
	类型
)自定义登录按钮列表样式自定义设置更多登录按钮列表,如其它三方登录等。 
 注意:HBuilderX3.1.14+版本支持。
UniverifyIconStyles
一键登录授权界面图标样式参数
interface plus.oauth.UniverifyIconStyles {
	attribute String path;
	attribute String width;
	attribute String height;
}
				属性:
- path: (String
	类型
)图标地址仅支持本地路径,默认为应用图标。 
- width: (String
	类型
)图标宽度格式为“XXpx",默认值为"60px"。 
- height: (String
	类型
)图标高度格式为“XXpx",默认值为"60px"。 
UniverifyPhoneNumStyles
一键登录授权界面电话号码文本样式参数
interface plus.oauth.UniverifyPhoneNumStyles {
	attribute String color;
	attribute String fontSize;
}
				属性:
- color: (String
	类型
)字体颜色格式为"#RRGGBB",默认值为"#000000"。 
- fontSize: (String
	类型
)字体大小格式为“XXpx",默认值为"18px"。注意:字体加粗显示。 
UniverifySloganStyles
一键登录授权界面服务说明文字样式参数
interface plus.oauth.UniverifySloganStyles {
	attribute String color;
	attribute String fontSize;
}
				属性:
- color: (String
	类型
)字体颜色格式为"#RRGGBB",默认值为"#8a8b90"。 
- fontSize: (String
	类型
)字体大小格式为“XXpx",默认值为"12px"。 
UniverifyAuthButtonStyles
一键登录授权界面登录按钮样式参数
interface plus.oauth.UniverifyAuthButtonStyles {
	attribute String normalColor;
	attribute String highlightColor;
	attribute String disabledColor;
	attribute String width;
	attribute String height;
	attribute String textColor;
	attribute String title;
	attribute String borderRadius;
}
				属性:
- normalColor: (String
	类型
)正常状态按钮颜色格式为"#RRGGBB",默认值为"#3479f5"。 
- highlightColor: (String
	类型
)按下状态按钮颜色格式为"#RRGGBB",默认值为"#2861c5"。 
- disabledColor: (String
	类型
)不可点击状态按钮颜色格式为"#RRGGBB",默认值为"#73aaf5"。 注意:仅iOS平台支持。 
- width: (String
	类型
)按钮宽度格式为“XXpx",默认值为自适应,距离屏幕左右"32px"。 
- height: (String
	类型
)按钮高度格式为“XXpx",默认值为"94px"。 
- textColor: (String
	类型
)按钮上文字颜色格式为"#RRGGBB",默认值为"#ffffff"。 
- title: (String
	类型
)按钮上文字内容默认值为"本机号码一键登录"。 
- borderRadius: (String
	类型
)按钮圆角半径格式为“XXpx",默认值为按钮高度的一半。 
UniverifyOtherButtonStyles
一键登录授权界面其它按钮样式参数
interface plus.oauth.UniverifyOtherButtonStyles {
	attribute Boolean visible;
	attribute String normalColor;
	attribute String highlightColor;
	attribute String width;
	attribute String height;
	attribute String textColor;
	attribute String title;
	attribute String borderWidth;
	attribute String borderColor;
	attribute String borderRadius;
}
				属性:
- visible: (Boolean
	类型
)是否显示其它按钮可取值: true - 显示其它按钮;false - 不显示其它按钮。 默认值为true。 
- normalColor: (String
	类型
)正常状态按钮颜色格式为"#RRGGBB",默认值为"#f8f8f8"。 
- highlightColor: (String
	类型
)按下状态按钮颜色格式为"#RRGGBB",默认值为"#dedede"。 
- width: (String
	类型
)按钮宽度格式为“XXpx",默认值为自适应,距离屏幕左右"32px"。 
- height: (String
	类型
)按钮高度格式为“XXpx",默认值为"94px"。 
- textColor: (String
	类型
)按钮上文字颜色格式为"#RRGGBB",默认值为"#000000"。 
- title: (String
	类型
)按钮上文字内容默认值为"其他登录方式"。 
- borderWidth: (String
	类型
)按钮边框宽度格式为“XXpx",默认值为"1px"。 注意:仅iOS平台支持。 
- borderColor: (String
	类型
)按钮边框颜色格式为"#RRGGBB",默认值为"#c5c5c5"。 注意:仅iOS平台支持。 
- borderRadius: (String
	类型
)按钮圆角半径格式为“XXpx",默认值为按钮高度的一半。 
UniverifyPrivacyTermsStyles
一键登录服务协议样式参数
interface plus.oauth.UniverifyPrivacyTermsStyles {
	attribute Boolean defaultCheckBoxState;
	attribute String uncheckedImage;
	attribute String checkedImage;
	attribute String textColor;
	attribute String termsColor;
	attribute String prefix;
	attribute String suffix;
	attribute String fontSize;
	attribute Array<UniverifyPrivacyItemStyles> privacyItems;
}
				属性:
- defaultCheckBoxState: (Boolean
	类型
)默认是否勾选同意协议选择框ture表示勾选,false表示不勾选。默认值为true。 
 HBuilderX3.1.0+版本新增支持。
- uncheckedImage: (String
	类型
)未勾选同意协议选择框的图片地址仅支持本地路径,建议图片尺寸24x24px。 
 HBuilderX3.1.23+版本新增支持。
- checkedImage: (String
	类型
)勾选同意协议选择框的图片地址仅支持本地路径,建议图片尺寸24x24px。 
 HBuilderX3.1.23+版本新增支持。
- textColor: (String
	类型
)普通文字颜色格式为"#RRGGBB",默认值为"#8a8b90"。 
- termsColor: (String
	类型
)协议链接文字颜色格式为"#RRGGBB",默认值为"#1d4788"。 
- prefix: (String
	类型
)服务协议前文本内容默认值为"我已阅读并同意"。 
- suffix: (String
	类型
)服务协议后文本内容默认值为"并使用本机号码登录"。 
- fontSize: (String
	类型
)字体大小格式为“XXpx",默认值为"12px"。 
- privacyItems: (Array[UniverifyPrivacyItemStyles]
	类型
)服务协议自定义服务协议,可设置使用手机号码登录的协议,最多可设置两个协议。 注意:运营商的服务协议链接会自动添加到自定义服务协议之前。 
UniverifyPrivacyItemStyles
自定义服务协议链接样式参数
interface plus.oauth.UniverifyPrivacyItemStyles {
	attribute String url;
	attribute String title;
}
				属性:
- url: (String
	类型
)链接地址http/https开头的协议链接地址。 
- title: (String
	类型
)协议链接文字
 
UniVerifyButtonsStyles
自定义登录按钮列表样式
interface plus.oauth.UniVerifyButtonsStyles {
	attribute String iconWidth;
	attribute Array<UniVerifyButtonStyles> list;
}
				属性:
- iconWidth: (String
	类型
)自定义登录按钮图标宽度单位为px,默认值为45px。 
 按指定宽度缩放,高度等比例缩放。
- list: (Array
	类型
)自定义登录按钮列表
 
UniVerifyButtonStyles
自定义登录按钮样式
interface plus.oauth.UniVerifyButtonStyles {
	attribute String iconPath;
	attribute Function onclick;
}
				属性:
- iconPath: (String
	类型
)自定义按钮图标路径
 
- onclick: (SuccessCallback
	类型
)点击按钮回调函数用户点击按钮时触发。 
ServicesSuccessCallback
获取登录授权认证服务成功回调
void ServicesSuccessCallback( services ) {
	// Get oauth services success code
}
				说明:
当获取登录授权认证服务列表成功时触发,并通过services参数返回运行环境支持的登录授权认证服务列表。
参数:
- services: 
		(
			Array[AuthService]
			)
			必选 运行环境支持的登录授权认证服务列表运行环境支持的登录授权认证服务列表数组,可通过services.length获取服务列表的数目。 如果当前运行环境没有支持的登录授权认证服务,则返回空数组。 
返回值:
void : 无AuthorizeSuccessCallback
授权认证成功回调函数
void onAuthorizeSuccess(event){
	  // authorize code
}
				说明:
授权认证成功时触发,并返回操作结果。
参数:
- event: 
		(
			Object
			)
			必选 授权认证回调参数包括以下字段: event.target - 授权认证服务对象; event.scope - 申请的权限作用范围,调用authorize方法传入的scope值; event.state - 自定义参数,调用authorize方法传入的state值; event.code - 用户换取access_token的code; event.lang - 客户端当前语言(仅微信授权登录支持); event.country -用户当前国家信息(仅微信授权登录支持)。 
返回值:
void : 无LogoutSuccessCallback
注销登录授权认证操作成功回调函数
void onLogoutSuccess(event){
	  // logout code
}
				说明:
注销登录授权认证成功时触发,并返回操作结果。
参数:
- event: 
		(
			Object
			)
			必选 注销登录授权认证操作回调事件参数包括以下参数: event.target - 表示登录授权认证服务对象; 其它属性可保存注销登录授权的扩展数据。 
返回值:
void : 无SuccessCallback
登录授权认证服务操作成功回调函数
void onSuccess(event){
	  // auth code
}
				说明:
登录授权认证服务操作如请求登录授权认证、获取登录授权用户信息成功时触发,并返回操作结果。
参数:
- event: 
		(
			Object
			)
			必选 登录授权认证服务操作回调事件参数包括以下参数: event.target - 表示登录授权认证服务对象,可以通过此对象的authResult、userInfo属性来获取操作结果信息。 
返回值:
void : 无ErrorCallback
登录授权认证服务操作失败回调函数
void onError(error){
	// Error code
}
				说明:
登录授权认证服务操作如请求登录授权认证、注销登录授权认证、获取登录授权用户信息失败时触发,并返回错误信息。
参数:
- error: 
		(
			Exception
			)
			必选 操作失败错误信息包括以下属性: - code - Number类型,错误代码
- message - String类型,错误描述信息
 - appid - String类型,一键登录的应用标识appid
- metadata - JSON类型,一键登录的原数据
- uid - String类型,一键登录的操作标识