6.5.300 • Published 2 years ago

@hmscore/hms-jsb-account v6.5.300

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

概述

帐号开发鸿蒙 HMS Core 适配 JavaScript API

类定义

ClassDescriptionStatus
HuaweiIdAuthManager帐号对外接口统一门面类Open
HuaweiIdAuth帐号登录退出取消授权接口实现类,不对外暴露,使用 HuaweiIdAuthManager 获取接口Close
Scope帐号授权范围类,预置常用范围对象 EMAIL, OPENID, PROFILE, SHIPPING_ADDRESSOpen
Permission帐号权限类,预置常用权限 UID_DYNAMIC_PERMISSIONOpen
HuaweiIdAuthParamsHelper帐号登录参数建造者类Open
HuaweiIdAuthParams帐号登录参数类,不对外暴露,请使用 HuaweiIdAuthParamsHelper 构造Close
HuaweiIdGetTokenOptions帐号静默登录获取IdToken 参数Open

HuaweiIdAuthManager

account 对外 JavaScript API 门面类

Kind: global constant

  • HuaweiIdAuthManager
    • getAuthApi
    • addAuthScopes(scopeList)
    • containScopes(authId, scopeList)
    • getAuthResultWithScopes(scopeList)
    • getAuthResult

HuaweiIdAuthManager.getAuthApi()

返回帐号登录,静默登录,退出,取消授权接口

函数入参:

函数返回值:

TypeDescription
HuaweiIdAuth帐号登录,静默登录,退出,取消授权接口实现对象

示例代码:

import { HuaweiIdAuthManager} from 'hms-jsb-account'
var authApi =  HuaweiIdAuthManager.getAuthApi();

HuaweiIdAuthManager.addScopes(scopeList)

新增授权范围 Scope 列表并且后台静默登录

函数入参:

ParamTypeDescription
scopeListArray授权范围 Scope 列表

函数返回值:

示例代码:

import { HuaweiIdAuthManager, PROFILE} from 'hms-jsb-account'
var scopeList = new Array();
scopeList.push(PROFILE);
HuaweiIdAuthManager.addAuthScopes(scopeList);

HuaweiIdAuthManager.containScopes(authId, scopeList)

判断登录成功后返回帐号信息是否包含指定授权范围 Scope 列表

函数入参:

ParamTypeDescription
authIdAuthHuaweiId Object登录成功后返回的华为帐号信息

函数返回值:

TypeDescription
Booleantrue: 帐号信息包含授权范围列表 false: 帐号信息不包含授权范围列表

示例代码:

import { HuaweiIdAuthManager, OPENID, PROFILE} from 'hms-jsb-account'
var scopeList = new Array();
scopeList.push(OPENID);
scopeList.push(PROFILE);
var isContained = HuaweiIdAuthManager.containScopes(null, scopeList);

HuaweiIdAuthManager.getAuthResultWithScopes(scopeList)

登录成功后返回的帐号信息中添加指定授权范围 Scope 列表

函数入参:

ParamTypeDescription
scopeListArray授权范围 Scope 列表

函数返回值:

TypeDescription
AuthHuaweiId返回增加了授权范围列表的登录成功帐号信息

示例代码:

import { HuaweiIdAuthManager, GAMES} from 'hms-jsb-account'
var scopeList = new Array();
scopeList.push(GAMES);
var authId = HuaweiIdAuthManager.getAuthResultWithScopes(scopeList);

HuaweiIdAuthManager.getAuthResult()

返回登录成功后缓存中的帐号信息

Kind: method method of HuaweiIdAuthManager

函数入参:

函数返回值:

TypeDescription
Promise返回包含缓存中登录成功帐号信息的异步回调

示例代码:

import { HuaweiIdAuthManager} from 'hms-jsb-account'
HuaweiIdAuthManager.getAuthResult().then((result) => {
	console.info("getAuthResult success");
	console.info(JSON.stringify(result));
    this.getAuthResult = "getAuthResult success: " + JSON.stringify(result);
}).catch((error) => {
	console.info("getAuthResult fail:" + error);
    this.getAuthResult = "getAuthResult fail: " + error;
});

HuaweiIdAuth

account 对外导出登录,静默登录,退出,授权 JS API。推荐使用 HuaweiIdAuthManager.getAuthApi() 获取接口对象。然后调用相关接口。

Kind: global constant

  • HuaweiIdAuth
    • getSignIntent(signInOption)
    • silentSignIn()
    • signOut()
    • cancelAuthorization()

HuaweiIdAuth.getSignIntent(signInOption)

前台帐号登录

函数入参:

typedescription
HuaweiIdAuthParams鉴权参数对象,该对象一般不直接构造,而是使用 HuaweiIdAuthParamsHelper 通过构造者模式创建

函数返回值:

TypeDescription
Promise返回包含缓存中登录成功帐号信息的异步回调

示例代码:

import { HuaweiIdAuthParamsHelper, HuaweiIdAuthManager } from 'hms-jsb-account'
var signInOption = new HuaweiIdAuthParamsHelper().setId().setProfile().setAuthorizationCode().build();
console.info(JSON.stringify(signInOption));
HuaweiIdAuthManager.getAuthApi().getSignInIntent(signInOption).then((result)=>{
	console.info("signIn success");
	console.info(JSON.stringify(result));
	this.signInResult = "signIn success: " + JSON.stringify(result);
}).catch((error)=>{
	console.error("signIn fail");
	console.error(JSON.stringify(error));
	this.signInResult = "signIn fail: " + JSON.stringify(error);
});

HuaweiIdAuth.silentSignIn()

后台帐号静默登录

函数入参: 可接收一个参数或者两个参数

TypeDescriptionOptiOn
HuaweiIdAuthParams鉴权参数对象,该对象一般不直接构造,而是使用 HuaweiIdAuthParamsHelper 通过构造者模式创建必选
HuaweiIdGetTokenOptions如果用户希望获取 IdToken, 需要传入此参数可选

函数返回值:

TypeDescription
Promise返回包含缓存中登录成功帐号信息的异步回调

示例代码:

import { HuaweiIdAuthParamsHelper, HuaweiIdAuthManager, OPENID, PROFILE, HuaweiIdGetTokenOptions} from 'hms-jsb-account'
 
// case 1: one paramter
var signInOption = new HuaweiIdAuthParamsHelper().setId().setProfile().setIdToken().build();
console.error(JSON.stringify(signInOption));
HuaweiIdAuthManager.getAuthApi().silentSignIn(signInOption).then((result)=>{
	console.info("signIn success");
	console.info(JSON.stringify(result));
	this.signInResult = "signIn success: " + JSON.stringify(result);
}).catch((error)=>{
	console.error("signIn fail");
	console.error(JSON.stringify(error));
	this.signInResult = "signIn fail: " + JSON.stringify(error);
});

// case 2: two paramters
var signInOption = new HuaweiIdAuthParamsHelper().setId().setProfile().setIdToken().build();
console.error(JSON.stringify(signInOption));
// current login account name
var curAccountName = "xxxxxx";
var idTokenOption = new HuaweiIdGetTokenOptions(curAccountName, true);
HuaweiIdAuthManager.getAuthApi().silentSignIn(signInOption, idTokenOption).then((result)=>{
	console.info("signIn success");
	console.info(JSON.stringify(result));
	this.signInResult = "signIn success: " + JSON.stringify(result);
}).catch((error)=>{
	console.error("signIn fail");
	console.error(JSON.stringify(error));
	this.signInResult = "signIn fail: " + JSON.stringify(error);
});

HuaweiIdAuth.signOut()

帐号退出

函数入参:

函数返回值:

TypeDescription
Promise<>返回帐号登场异步回调

示例代码:

import { HuaweiIdAuthManager} from 'hms-jsb-account'
HuaweiIdAuthManager.getAuthApi().signOut().then((result)=>{
	console.info("signOut success");
	console.info(JSON.stringify(result));
	this.signOutResult = "signOut success: " + JSON.stringify(result);
}).catch((error) => {
	console.error("signout fail");
	console.error(JSON.stringify(error));
 	this.signOutResult = "signOut fail: " + JSON.stringify(error);
});

HuaweiIdAuth.cancelAuthorization()

帐号取消授权

函数入参:

函数返回值:

TypeDescription
Promise<>返回帐号取消授权异步回调

示例代码:

import { HuaweiIdAuthManager} from 'hms-jsb-account'
var signInOption = new HuaweiIdAuthParamsHelper().setId().setProfile().setAuthorizationCode().build();
console.error(JSON.stringify(signInOption));
HuaweiIdAuthManager.getAuthApi().cancelAuthorization(signInOption).then((result)=>{
	console.info("cancelAuthorization success");
	console.info(JSON.stringify(result));
	this.revokeAccessResult = "cancelAuthorization success: " + JSON.stringify(result);
}).catch((error) => {
	console.error("cancelAuthorization fail");
	console.error(JSON.stringify(error));
	this.revokeAccessResult = "cancelAuthorization fail: " + JSON.stringify(error);
});