鉴权
更新时间:2025-04-18 07:16:51

鉴权

方法总览

方法名称 行为 含义描述
OnSDKReady 通知 sdk进程启动完成的通知;仅有在接收到该通知之后,其他的所有操作才能生效
OnAuthResult 通知 鉴权完成的通知;仅有鉴权成功了,功能相关的操作才能生效;eAuthState: 当前鉴权状态
OnQueryServiceFeatureResult 通知 服务器请求完成的通知;无效或有效的类型都会通知;eTenantMode: 请求服务器的类型
OnQueryThirdPartyInfoResult 通知 企业号/域账号验证完成的通知;仅有验证成功了,功能相关的操作才能生效;bThirdSuccess: 企业号/域账号验证是否成功
OnLoginResult 通知 登录结果的通知;登录成功和失败都会通知;eAccountState: 当前登录的状态;dataAccountInfo: 请求登录的账号信息
OnLogout 通知 登出结果的通知;eLogoutReason: 登出原因;nErrCode: 登录操作的返回码
OnNetWorkStateChanged 通知 网络转态的变化通知;bIsNetWorkValid: 网络是否可用
OnAuthCodeLoginError 通知 鉴权码登录错误回调
AuthSDK 调用 鉴权;dataParam: 鉴权用的参数
SsoLogin 调用 Sso登录;listNode: sso登录协议的参数,不同的协议传参不同,如Oauth2.0/OIDC协议应该传参partyId、clientType、code;strThirdPartyDomain: 第三方企业域名
AppIdLogin 调用 AppId登录;dataParam: AppId用的参数
Login 调用 登录账号;dataParam: 普通登录用的参数
RequestDispatcherHost 调用 获取服务器信息(仅第三方、sso登录用)
RequestThirdPartyInfo 调用 设置企业号/域账号,并验证企业信息(仅第三方、sso登录用);dataParam: 域账号登录的登录参数
ThirdPartyLogin 调用 yms域账号登录/cloud企业登录(第三方登录);dataParam: 第三方登录的登录参数
LogOut 调用 登出账号
GetAuthStatus 调用 获取当前鉴权状态
GetAccountInfo 调用 获取当前账号信息
GetLoginStatus 调用 获取当前登录状态
AuthCodeLogin 调用 鉴权码登录

OnSDKReady

通知描述

sdk进程启动完成的通知;仅有在接收到该通知之后,其他的所有操作才能生效

通知定义

void OnSDKReady();

参数描述

无参数。

返回值描述

无返回值。

OnAuthResult

通知描述

鉴权完成的通知;仅有鉴权成功了,功能相关的操作才能生效

通知定义

void OnAuthResult(AUTH_STATE eAuthState);

参数描述

参数 类型 含义
eAuthState AUTH_STATE 当前鉴权状态

鉴权状态枚举

enum AUTH_STATE {
    AUTH_STATE_AUTHROIZED = 0,/** < 已鉴权 */
    AUTH_STATE_UNAUTHROIZED = 1,/** < 未鉴权 */
}

返回值描述

无返回值。

OnQueryServiceFeatureResult

通知描述

服务器请求完成的通知;无效或有效的类型都会通知

通知定义

void OnQueryServiceFeatureResult(TenantMode eTenantMode);

参数描述

参数 类型 含义
eTenantMode TenantMode 请求服务器的类型

租户类型(仅第三方、sso登录用)

enum TenantMode {
    TENANT_MODE_INVALID = 0,/** < 无效 */
    TENANT_MODE_SINGLE = 1,/** < 单租户 */
    TENANT_MODE_MULTI = 2,/** < 多租户 */
}

返回值描述

无返回值。

OnQueryThirdPartyInfoResult

通知描述

企业号/域账号验证完成的通知;仅有验证成功了,功能相关的操作才能生效

通知定义

void OnQueryThirdPartyInfoResult(bool bThirdSuccess);

参数描述

参数 类型 含义
bThirdSuccess bool 企业号/域账号验证是否成功

返回值描述

无返回值。

OnLoginResult

通知描述

登录结果的通知;登录成功和失败都会通知

通知定义

void OnLoginResult(ACCOUNT_STATE eAccountState, ACCOUNT_INFO dataAccountInfo);

参数描述

参数 类型 含义
eAccountState ACCOUNT_STATE 当前登录的状态
dataAccountInfo ACCOUNT_INFO 请求登录的账号信息

账号状态枚举

enum ACCOUNT_STATE {
    ACCOUNT_STATE_NONE = 0,/** < 未登录状态 */
    ACCOUNT_STATE_LOGGING = 1,/** < 登录中状态 */
    ACCOUNT_STATE_LOGGED = 2,/** < 登录成功状态 */
}

账号信息

struct ACCOUNT_INFO {
    std::string strID;/** < 账号uuid,和联系人模块关联 */
    std::string strSubjectID;/** < 用户中心唯一Id */
    std::string strNumber;/** < 账号短号 */
    std::string strFullNumber;/** < 账号长号,格式为企业号+账号短号 */
    std::string strPartyNumber;/** < 账号所在企业号 */
    std::string strName;/** < 账号名字 */
    std::string strPhoneNumber;/** < 账号手机号 */
    std::string strEmailAddress;/** < 账号邮箱 */
    UserGender eGender;/** < 账号性别 */
    std::string strPartyName;/** < 账号所在企业名字 */
    std::string strPartyDomain;/** < 账号所在域 */
    std::string strPartyZoneID;/** < 账号所在域的时区ID,用于预约会议默认时区 */
    bool bSupportMeetingNow;/** < 是否支持即时会议 */
}

返回值描述

无返回值。

OnLogout

通知描述

登出结果的通知

通知定义

void OnLogout(LOGOUT_REASON eLogoutReason, int nErrCode);

参数描述

参数 类型 含义
eLogoutReason LOGOUT_REASON 登出原因
nErrCode int 登录操作的返回码

登出原因

enum LOGOUT_REASON {
    LOGOUT_REASON_NORMAL = 0,/** < 正常登出 */
    LOGOUT_REASON_TIME_OUT = 1,/** < 超时 */
    LOGOUT_REASON_PASSWORD_ERR = 2,/** < 用户名或密码错误 */
    LOGOUT_REASON_DOMAIN_ERR = 3,/** < 域不正确 */
    LOGOUT_REASON_ACCOUNT_ERR = 4,/** < 该帐号状态异常 */
    LOGOUT_REASON_LOGGED_ELSEWHERE = 5,/** < 被挤下线 */
    LOGOUT_REASON_ACCOUNT_CHANGE = 6,/** < 账号变化,需重新登录 */
    LOGOUT_REASON_PASSWORD_CHANGE = 7,/** < 密码变化,需重新登录 */
    LOGOUT_REASON_OTHER = 8,/** < 其他错误,详见错误码 */
}

返回值描述

无返回值。

OnNetWorkStateChanged

通知描述

网络转态的变化通知

通知定义

void OnNetWorkStateChanged(bool bIsNetWorkValid);

参数描述

参数 类型 含义
bIsNetWorkValid bool 网络是否可用

返回值描述

无返回值。

OnAuthCodeLoginError

通知描述

鉴权码登录错误回调

通知定义

void OnAuthCodeLoginError(int nCode, string strMsg);

参数描述

参数 类型 含义
nCode int
strMsg string

返回值描述

无返回值。

AuthSDK

接口描述

鉴权

接口定义

YLSDKERR AuthSDK(AuthParam dataParam);

参数描述

参数 类型 含义
dataParam AuthParam 鉴权用的参数

AuthParam SDK鉴权参数数据结构

struct AuthParam {
    std::string strAppID;/** < 鉴权使用的uuid */
    std::string strAppSecret;/** < 签名, 用来校验对应appID的合法性  */
}

返回值描述

类型 含义
YLSDKERR 错误码,详情见错误码 YLSDKERR 的定义

SsoLogin

接口描述

Sso登录;listNode: sso登录协议的参数,不同的协议传参不同,如Oauth2.0/OIDC协议应该传参partyId、clientType、code;strThirdPartyDomain: 第三方企业域名

接口定义

YLSDKERR SsoLogin(SsoNodeList vecNode, string strThirdPartyDomain);

参数描述

参数 类型 含义
vecNode SsoNodeList
strThirdPartyDomain string 第三方企业域名

SsoNodeList sso协议

struct SsoNodeList {
    std::vector<SsoNode> vecSsoNode;/** < sso协议参数 */
}

返回值描述

类型 含义
YLSDKERR 错误码,详情见错误码 YLSDKERR 的定义

AppIdLogin

接口描述

AppId登录

接口定义

YLSDKERR AppIdLogin(AppIdLoginParams dataParam);

参数描述

参数 类型 含义
dataParam AppIdLoginParams AppId用的参数

AppIdLoginParams AppId登录

struct AppIdLoginParams {
    std::string strIdentity;/** < 必须,第三方用户的唯一标识ID */
    std::string strPartyNumber;/** < 非必须,企业号,多租户下必填,单租户模式下不用填 */
    std::string strName;/** < 非必须,名称,未传入时,默认使用identity值 */
    std::string strUserName;/** < 非必须,用户名,未传入时,则为空。只允许输入字母、英文符号、数字且不能为纯数字以及邮箱 */
    std::string strNumber;/** < 非必须,账号,必须符合企业号码号段规则,未传入账号时,则系统自动分配 */
    std::string strMobile;/** < 非必须,手机号,未传入时,则为空,传入时需保证有效 */
    std::string strMobileCode;/** < 非必须,手机区号,默认86,传入时需保证有效 */
    std::string strEmail;/** < 非必须,邮箱,未传入时,则为空,传入时需保证有效 */
    int64_t nGender;/** < 非必须,性别,值:0:保密;1:男;2:女,未传入时,默认为0 */
}

返回值描述

类型 含义
YLSDKERR 错误码,详情见错误码 YLSDKERR 的定义

Login

接口描述

登录账号

接口定义

YLSDKERR Login(LoginParam dataParam);

参数描述

参数 类型 含义
dataParam LoginParam 普通登录用的参数

LoginParam 登录参数数据结构

struct LoginParam {
    std::string strAccount;/** < 账号,不可为空 */
    std::string strPassword;/** < 密码,不可为空 */
    AuthType eAuthType;/** < 鉴权方式,默认通过云视讯-密码登录方式鉴权 */
}

返回值描述

类型 含义
YLSDKERR 错误码,详情见错误码 YLSDKERR 的定义

RequestDispatcherHost

接口描述

获取服务器信息(仅第三方、sso登录用)

接口定义

YLSDKERR RequestDispatcherHost();

参数描述

无参数。

返回值描述

类型 含义
YLSDKERR 错误码,详情见错误码 YLSDKERR 的定义

RequestThirdPartyInfo

接口描述

设置企业号/域账号,并验证企业信息(仅第三方、sso登录用)

接口定义

YLSDKERR RequestThirdPartyInfo(DomainParam dataParam, ThirdPartyType thirdPartyType);

参数描述

参数 类型 含义
dataParam DomainParam 域账号登录的登录参数
thirdPartyType ThirdPartyType

DomainParam 域账号/企业号(仅第三方、sso登录用)

struct DomainParam {
    std::string strDomain;/** < 域账号。单租户填空,多租户填对应的域账号 */
}

ThirdPartyType 第三方登录类型

enum ThirdPartyType {
    THIRD_PARTY_TYPE_LDAP = 0,/** < 第三方登录 */
    THIRD_PARTY_TYPE_SSO = 1,/** < sso登录 */
}

返回值描述

类型 含义
YLSDKERR 错误码,详情见错误码 YLSDKERR 的定义

ThirdPartyLogin

接口描述

yms域账号登录/cloud企业登录(第三方登录)

接口定义

YLSDKERR ThirdPartyLogin(ThirdPartyLoginParam dataParam);

参数描述

参数 类型 含义
dataParam ThirdPartyLoginParam 第三方登录的登录参数

ThirdPartyLoginParam 第三方登录参数数据结构(仅第三方登录ldap用)

struct ThirdPartyLoginParam {
    std::string strThirdAccount;/** < 帐号,不可为空 */
    std::string strThirdPassword;/** < 密码,不可为空 */
}

返回值描述

类型 含义
YLSDKERR 错误码,详情见错误码 YLSDKERR 的定义

LogOut

接口描述

登出账号

接口定义

YLSDKERR LogOut();

参数描述

无参数。

返回值描述

类型 含义
YLSDKERR 错误码,详情见错误码 YLSDKERR 的定义

GetAuthStatus

接口描述

获取当前鉴权状态

接口定义

AUTH_STATE GetAuthStatus();

参数描述

无参数。

返回值描述

类型 含义
AUTH_STATE 鉴权状态枚举

AUTH_STATE 鉴权状态枚举

enum AUTH_STATE {
    AUTH_STATE_AUTHROIZED = 0,/** < 已鉴权 */
    AUTH_STATE_UNAUTHROIZED = 1,/** < 未鉴权 */
}

GetAccountInfo

接口描述

获取当前账号信息

接口定义

ACCOUNT_INFO GetAccountInfo();

参数描述

无参数。

返回值描述

类型 含义
ACCOUNT_INFO 账号信息

ACCOUNT_INFO 账号信息

struct ACCOUNT_INFO {
    std::string strID;/** < 账号uuid,和联系人模块关联 */
    std::string strSubjectID;/** < 用户中心唯一Id */
    std::string strNumber;/** < 账号短号 */
    std::string strFullNumber;/** < 账号长号,格式为企业号+账号短号 */
    std::string strPartyNumber;/** < 账号所在企业号 */
    std::string strName;/** < 账号名字 */
    std::string strPhoneNumber;/** < 账号手机号 */
    std::string strEmailAddress;/** < 账号邮箱 */
    UserGender eGender;/** < 账号性别 */
    std::string strPartyName;/** < 账号所在企业名字 */
    std::string strPartyDomain;/** < 账号所在域 */
    std::string strPartyZoneID;/** < 账号所在域的时区ID,用于预约会议默认时区 */
    bool bSupportMeetingNow;/** < 是否支持即时会议 */
}

GetLoginStatus

接口描述

获取当前登录状态

接口定义

ACCOUNT_STATE GetLoginStatus();

参数描述

无参数。

返回值描述

类型 含义
ACCOUNT_STATE 账号状态枚举

ACCOUNT_STATE 账号状态枚举

enum ACCOUNT_STATE {
    ACCOUNT_STATE_NONE = 0,/** < 未登录状态 */
    ACCOUNT_STATE_LOGGING = 1,/** < 登录中状态 */
    ACCOUNT_STATE_LOGGED = 2,/** < 登录成功状态 */
}

AuthCodeLogin

接口描述

鉴权码登录

接口定义

YLSDKERR AuthCodeLogin(string strAuthCode);

参数描述

参数 类型 含义
strAuthCode string

返回值描述

类型 含义
YLSDKERR 错误码,详情见错误码 YLSDKERR 的定义
本页目录