鉴权
方法总览
方法名称 | 行为 | 含义描述 |
---|---|---|
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 的定义 |