更新时间:2022-05-10 GMT+08:00
分享

登录

Login

接口描述

该接口用于登录。登录分为华为云会议账户登录和AppID登录,由authType参数决定。

注意事项

  1. 创建会议,被邀入会等功能只有在登录后才能使用,若不登录,将无法体验完整会议功能。
  2. 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。

方法定义

1
HWM_SDK_AGENT_API hwmsdk::HwmErrCode Login(HwmLoginInfo *loginInfo);

回调函数

1
virtual void OnLoginResult(hwmsdk::HwmErrCode ret, const char* reason, const HwmLoginResult* loginResult) {};

参数描述

表1 结构体HwmLoginInfo 参数说明

参数

是否必须

类型

描述

authType

HwmAuthType

登录类型。参考表2

accountAndPasswordAuthInfo

HwmAccountAndPasswordAuthInfo

帐号密码登录信息。选择“帐号密码鉴权方式”时需要填写。

appIdAuthInfo

HwmAppIdAuthInfo

App ID登录信息。选择“App ID鉴权方式”时需要填写。

表2 结构体HwmAccountAndPasswordAuthInfo参数说明

参数

是否必须

类型

描述

account

char[]

登录帐号。

password

char[]

登录密码。

表3 结构体HwmAppIdAuthInfo参数说明

参数

是否必须

类型

描述

thirdUserId

char[]

第三方用户ID。

corpId

char[]

设置该用户所在的企业ID。仅在SP模式下需要填写,单企业模式不要填写,否则会鉴权失败。

userName

char[]

用户名称(用于注册,第一次登录时设置,后续无法更改。如不填,默认与thirdUserId一致)。

signature

char[]

从第三方服务端获取的鉴权签名。

nonce

char[]

从第三方服务端获取的Nonce值,用于华为云服务端验证鉴权签名有效性。

expireTime

long long

从第三方服务端获取的鉴权签名有效期的时间戳。0表示永不超时。

email

char[]

用户邮箱信息(用于注册,第一次登录设置,后续无法更改)。

phoneNumber

char[]

用户手机号码(用于注册,第一次登录设置,后续无法更改)。

deptCode

char[]

部门ID

返回值

表4 返回值

类型

描述

HwmErrCode

成功返回0,其他值表示失败。失败返回值见错误码参考

HwmLoginResult

登录结果信息。

表5 结构体HwmLoginResult参数说明

参数

类型

描述

userUuid

char[]

UUID(由系统分配的真实的唯一用户标识)。

account

char[]

帐号。

thirdAccount

char[]

第三方帐号。

示例代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/**
* 登录处理
*/
int demoLoginDlg::Login()
{
    int ret;
    //设置App ID登录参数
    string userId= "admin@1";
    string userName= "Mike";
    string email= "xxx@xxx.com";
    string phoneNumber= "1234567890";
   /**
    *.此处省略第三方服务器做的数据转换,最后获取到nonce和signature
    */
    strncpy_s(loginParam.appIdAuthInfo.thirdUserId, userId.c_str(), HWM_MAX_USER_ID_LEN);
    strncpy_s(loginParam.appIdAuthInfo.userName, userName.c_str(), HWM_MAX_USER_NAME_LEN);
    strncpy_s(loginParam.appIdAuthInfo.signature, signature.c_str(), HWM_MAX_SIGNATURE_LEN);
    strncpy_s(loginParam.appIdAuthInfo.nonce, nonce.c_str(), HWM_APPID_NONCE_LEN );
    strncpy_s(loginParam.appIdAuthInfo.email, email.c_str(), HWM_MAX_EMAIL_LEN);
    strncpy_s(loginParam.appIdAuthInfo.phoneNumber, phoneNumber.c_str(), HWM_MAX_PHONE_NUM_LEN);
    loginParam.appIdAuthInfo.expireTime = 1598398920; // utc时间,单位s

    loginParam.authType = hwmsdkagent::HWM_AUTH_TYPE_APPID;
    //调用登录接口
    ret = hwmsdkagent::Login(&loginParam);
    return ret;
}
分享:

    相关文档

    相关产品

close