更新时间:2024-07-30 GMT+08:00

App ID方式登录

1
HWMSdk.getOpenApi.loginByAppId(AppIdAuthParam,HwmCallback

接口描述

该接口用于通过App ID的方式登录和鉴权。

注意事项

除匿名入会外,在使用其他业务之前必须进行成功登录。

登录成功以后会发送登录成功事件onSuccess回调。

方法定义

1
2
3
4
5
6
    /**
     * 登录接口
     * @param appIdAuthParam 登录配置对象
     * @param hwmCallback 登录结果回调
     */
void loginByAppId(AppIdAuthParam appIdAuthParam HwmCallback<LoginResult> hwmCallback)

参数描述

表1 参数说明

参数

是否必须

类型

描述

appIdAuthParam

AppIdAuthParam

登录配置对象

hwmCallback

HwmCallback<LoginResult>

回调处理对象

返回值

无。

参数拓展

表2 AppIdAuthParam参数说明

参数

是否必须

类型

描述

thirdUserId

String

第三方账号的唯一标识,1到64位

说明:App ID的方式鉴权,需要保证App ID的是在会议服务器上申请的,App ID通过HWMSdk.init时,传入OpenSdkConfig,通过OpenSdkCOnfig.setAppId(appid)传入

nonce

String

随机字符串,32到64位

corpId

String

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

signature

String

签名信息

expireTime

long

签名过期时间,单位为秒的Unix时间戳,为0则不会过期

userName

String

用户名称(如不填,默认与thirdUserId一致)。

userEmail

String

用户邮箱

userPhone

String

用户手机号码

deptCode

String

部门编码

示例代码

 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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//构建登录对象
AppIdAuthParam appIdAuthParam = new AppIdAuthParam();
//设置签名过期时间,单位为秒的Unix时间戳,为0则不会过期
appIdAuthParam.setExpireTime(1599618620);
//设置随机字符串,长度为32-64位
appIdAuthParam.setNonce(getNonce());
//设置该用户所在的企业ID,仅SP登录场景下需要
appIdAuthParam.setCorpId(getCorpId());
//设置第三方账号的id,长度为1到64位
appIdAuthParam.setUserId(getUserId());
//设置签名信息
appIdAuthParam.setSignature(getSignature());
//设置用户昵称
appIdAuthParam.setUserName(getUserName());
//注意邮箱需要符合邮箱格式要求
appIdAuthParam.setUserEmail(getUserEmail());
//注意手机号码必须符合手机格式,比如(^$|^[+]?[0-9]+$)
appIdAuthParam.setUserPhone(getUserPhone());
//开始登录
HWMSdk.getOpenApi(getActivity().getApplication()).loginByAppId(appIdAuthParam, new HwmCallback<LoginResult>() {
            @Override
            public void onSuccess(LoginResult loginResult) {
                dismissLoading();
                dismiss();
                if (loginResult != null) {
                    DemoUtil.showToast("登录成功" + loginResult.getUserUuid());
                }else{
                    DemoUtil.showToast("已登录");
                }
            }

            @Override
            public void onFailed(int retCode, String desc) {
                HwmContext.getInstance().runOnMainThread(() ->{
                    dismissLoading();
                    Error error = HWMBizSdk.getLoginApi().convertErrorCodeToUI(retCode);
                    DemoUtil.showToast("登录错误:" + getLoginErrTips(error));
                    dismiss();
                });
            }
        });