登录
Login
接口描述
该接口用于登录。登录分为华为云会议账户登录和AppID登录,由authType参数决定。
注意事项
- 创建会议,被邀入会等功能只有在登录后才能使用,若不登录,将无法体验完整会议功能。
- 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。
方法定义
1 | HWM_SDK_AGENT_API hwmsdk::HwmErrCode Login(HwmLoginInfo *loginInfo); |
回调函数
1 | virtual void OnLoginResult(hwmsdk::HwmErrCode ret, const char* reason, const HwmLoginResult* loginResult) {}; |
参数描述
参数 | 是否必须 | 类型 | 描述 |
|---|---|---|---|
authType | 是 | HwmAuthType | 登录类型。参考表2 |
accountAndPasswordAuthInfo | 否 | HwmAccountAndPasswordAuthInfo | 账号密码登录信息。选择“账号密码鉴权方式”时需要填写。 |
appIdAuthInfo | 否 | HwmAppIdAuthInfo | App ID登录信息。选择“App ID鉴权方式”时需要填写。 |
参数 | 是否必须 | 类型 | 描述 |
|---|---|---|---|
account | 是 | char[] | 登录账号。 |
password | 是 | char[] | 登录密码。 |
参数 | 是否必须 | 类型 | 描述 |
|---|---|---|---|
thirdUserId | 是 | char[] | 第三方用户ID。 |
corpId | 否 | char[] | 设置该用户所在的企业ID。仅在SP模式下需要填写,单企业模式不要填写,否则会鉴权失败。 |
userName | 否 | char[] | 用户名称(如不填,默认与thirdUserId一致)。 |
signature | 是 | char[] | 从第三方服务端获取的鉴权签名。 |
nonce | 是 | char[] | 从第三方服务端获取的Nonce值,用于华为云服务端验证鉴权签名有效性。 |
expireTime | 是 | long long | 从第三方服务端获取的鉴权签名有效期的时间戳。0表示永不超时。 |
否 | char[] | 用户邮箱信息。 | |
phoneNumber | 否 | char[] | 用户手机号码。 |
deptCode | 否 | char[] | 部门ID |
返回值
类型 | 描述 |
|---|---|
HwmErrCode | 成功返回0,其他值表示失败。失败返回值见错误码参考。 |
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; } |

