更新时间:2024-07-30 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
/**
* 登录处理
*/
int demoLoginDlg::Login()
{
    int ret;
    //设置App ID登录参数
   /**
    *.此处省略第三方服务器做的数据转换,最后获取到nonce和signature
    */
    strncpy_s(loginParam.appIdAuthInfo.thirdUserId, GetUserId().c_str(), HWM_MAX_USER_ID_LEN);
    strncpy_s(loginParam.appIdAuthInfo.userName, GetUserName().c_str(), HWM_MAX_USER_NAME_LEN);
    strncpy_s(loginParam.appIdAuthInfo.signature, GetSignature().c_str(), HWM_MAX_SIGNATURE_LEN);
    strncpy_s(loginParam.appIdAuthInfo.nonce, GetNonce().c_str(), HWM_APPID_NONCE_LEN );
    strncpy_s(loginParam.appIdAuthInfo.email, GetEmail().c_str(), HWM_MAX_EMAIL_LEN);
    strncpy_s(loginParam.appIdAuthInfo.phoneNumber, GetPhoneNumber().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;
}