登录
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; } |