更新时间:2024-06-28 GMT+08:00
分享

SSO登录

LoginBySSO

接口描述

该接口用于通过SSO的方式登录和鉴权。需要先通过GetSSOAuthorizeUrl接口获取到鉴权code。GetSSOAuthorizeUrl通过传域名获取到鉴权网站,用户在网站上输入账号+密码或者扫码完成鉴权获取到临时code(使用code完成登录)。

注意事项

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

方法定义

1
HWM_SDK_AGENT_API hwmsdk::HwmErrCode LoginBySSO(HwmSSOAuthInfo *ssoAuthInfo);

回调函数

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

参数描述

表1 结构体HwmSSOAuthInfo 参数说明

参数

是否必须

类型

描述

code

char[]

授权码

domain

char[]

企业域名。

authServerType

AuthServerType

鉴权服务类型

表2 枚举AuthServerType参数说明

参数

描述

AUTH_SERVER_TYPE_OAUTH2

单点登录。

返回值

表3 返回值

类型

描述

HwmErrCode

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

HwmLoginResult

登录结果信息。参考 “结构体HwmLoginResult参数说明”。

示例代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
/**
* 登录处理
*/
int demoLoginBySSODlg::LoginBySSO()
{
    int ret;
    //填入登录参数
    hwmsdkagent::HwmSSOAuthInfo ssoAuthInfo{};
    strncpy_s(ssoAuthInfo.domain, GetDomain().c_str(), HWM_MAX_SSO_DOMAIN_LEN);
    strncpy_s(ssoAuthInfo.code, GetCode().c_str(), HWM_MAX_SSO_CODE_LEN);
    ssoAuthInfo.authServerType = hwmsdkagent::AUTH_SERVER_TYPE_OAUTH2;

    //调用登录接口
    ret = hwmsdkagent::LoginBySSO(&ssoAuthInfo);
    return ret;
}

相关文档