Meeting SDK for Linux API Reference
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
auth_service_interface.h
Go to the documentation of this file.
1
6#ifndef _AUTH_SERVICE_INTERFACE_H_
7#define _AUTH_SERVICE_INTERFACE_H_
8#include "zoom_sdk_def.h"
9
11
32
44
63#if defined(WIN32)
67typedef enum
68{
69 SDK_Notification_Service_None = 0,
70 SDK_Notification_Service_Starting,
71 SDK_Notification_Service_Started,
72 SDK_Notification_Service_StartFailed,
73 SDK_Notification_Service_Closed,
74}SDKNotificationServiceStatus;
75
76typedef enum
77{
78 SDK_Notification_Service_Error_Success = 0,
79 SDK_Notification_Service_Error_Unknown,
80 SDK_Notification_Service_Error_Internal_Error,
81 SDK_Notification_Service_Error_Invalid_Token,
82 SDK_Notification_Service_Error_Multi_Connect,
83 SDK_Notification_Service_Error_Network_Issue,
84 SDK_Notification_Service_Error_Max_Duration,
85}SDKNotificationServiceError;
86
87#endif
92typedef struct tagAuthContext
93{
117 {
118 jwt_token = nullptr;
119 }
120
131
135{
136public:
139 virtual const zchar_t* GetDisplayName() = 0;
142 virtual LoginType GetLoginType() = 0;
143 virtual ~IAccountInfo(){};
144};
145
149{
150public:
152
155 virtual void onAuthenticationReturn(AuthResult ret) = 0;
156
161 virtual void onLoginReturnWithReason(LOGINSTATUS ret, IAccountInfo* pAccountInfo, LoginFailReason reason) = 0;
162
164 virtual void onLogout() = 0;
165
167 virtual void onZoomIdentityExpired() = 0;
168
170 virtual void onZoomAuthIdentityExpired() = 0;
171#if defined(WIN32)
175 virtual void onNotificationServiceStatus(SDKNotificationServiceStatus status, SDKNotificationServiceError error) = 0;
176#endif
177};
178#if defined(WIN32)
179class IDirectShareServiceHelper;
180class IOutlookPluginIntegrationHelper;
181class INotificationServiceHelper;
182#endif
186{
187public:
192 virtual SDKError SetEvent(IAuthServiceEvent* pEvent) = 0;
193
198 virtual SDKError SDKAuth(AuthContext& authContext) = 0;
199
203
206 virtual const zchar_t* GetSDKIdentity() = 0;
207
209
213 virtual const zchar_t* GenerateSSOLoginWebURL(const zchar_t* prefix_of_vanity_url) = 0;
214
220 virtual SDKError SSOLoginWithWebUriProtocol(const zchar_t* uri_protocol) = 0;
221
223
227 virtual SDKError LogOut() = 0;
228
232
236#if defined(WIN32)
239 virtual IDirectShareServiceHelper* GetDirectShareServiceHelper() = 0;
240
243 virtual void EnableAutoRegisterNotificationServiceForLogin(bool bEnable) = 0;
244
249 virtual SDKError RegisterNotificationService(const zchar_t* accessToken) = 0;
250
254 virtual SDKError UnregisterNotificationService() = 0;
255
258 virtual INotificationServiceHelper* GetNotificationServiceHelper() = 0;
259#endif
260};
262#endif
LoginType
User login type. Here are more detailed structural descriptions.
@ LoginType_Unknown
Unknown type.
@ LoginType_SSO
Login with SSO token.
struct tagAuthContext AuthContext
LOGINSTATUS
Login status. Here are more detailed structural descriptions.
@ LOGIN_IDLE
Unlogged in.
@ LOGIN_FAILED
Login failed.
@ LOGIN_PROCESSING
In process of login.
@ LOGIN_SUCCESS
Login successful.
@ LoginFail_SMSCodeError
@ LoginFail_OtherIssue
@ LoginFail_Mfa_Required
@ LoginFail_PhoneNumberFormatInValid
@ LoginFail_SMSCodeExpired
@ LoginFail_Need_Bitrthday_ask
@ LoginFail_SDKNeedUpdate
@ LoginFail_LoginTokenInvalid
@ LoginFail_WrongPassword
@ LoginFail_EmailLoginDisable
@ LoginFail_UserDisagreeLoginDisclaimer
@ LoginFail_UserNotExist
@ LoginFail_TooManyFailedAttempts
@ LoginFail_AccountLocked
AuthResult
SDK Authentication Result. Here are more detailed structural descriptions.
@ AUTHRET_NONE
Initial status.
@ AUTHRET_UNKNOWN
Unknown error.
@ AUTHRET_OVERTIME
Time out.
@ AUTHRET_SERVICE_BUSY
Service is busy.
@ AUTHRET_SUCCESS
Authentication is successful.
@ AUTHRET_LIMIT_EXCEEDED_EXCEPTION
The authentication rate limit is exceeded.
@ AUTHRET_JWTTOKENWRONG
Account does not support this SDK version.
@ AUTHRET_ACCOUNTNOTSUPPORT
The user account does not support.
@ AUTHRET_KEYORSECRETEMPTY
The key or secret to authenticate is empty.
@ AUTHRET_NETWORKISSUE
Network issues.
@ AUTHRET_ACCOUNTNOTENABLESDK
The user account is not enabled for SDK.
@ AUTHRET_CLIENT_INCOMPATIBLE
@ AUTHRET_KEYORSECRETWRONG
The key or secret to authenticate is wrong.
Account information interface.
virtual const zchar_t * GetDisplayName()=0
Get the screen name of user.
virtual LoginType GetLoginType()=0
Get login type.
Authentication service callback event.
virtual void onZoomIdentityExpired()=0
Zoom identity has expired, please re-login or generate a new zoom access token via REST Api.
virtual void onLoginReturnWithReason(LOGINSTATUS ret, IAccountInfo *pAccountInfo, LoginFailReason reason)=0
Callback of login result with fail reason.
virtual void onAuthenticationReturn(AuthResult ret)=0
Authentication result callback.
virtual void onZoomAuthIdentityExpired()=0
Zoom authentication identity will be expired in 10 minutes, please re-auth.
virtual void onLogout()=0
Logout result callback.
Authentication Service Interface.
virtual AuthResult GetAuthResult()=0
Get authentication status.
virtual SDKError SetEvent(IAuthServiceEvent *pEvent)=0
Set the authentication service callback event handler.
virtual LOGINSTATUS GetLoginStatus()=0
Get login status.
virtual const zchar_t * GetSDKIdentity()=0
Get SDK identity.
virtual IAccountInfo * GetAccountInfo()=0
Get login account information.
virtual SDKError LogOut()=0
Account logout.
virtual SDKError SDKAuth(AuthContext &authContext)=0
SDK Authentication with jwt token.
SDK Authentication parameter with jwt token. Here are more detailed structural descriptions.
const zchar_t * jwt_token
ZOOM windows SDK Common Definition File.
#define END_ZOOM_SDK_NAMESPACE
#define BEGIN_ZOOM_SDK_NAMESPACE
char zchar_t
SDKError
SDK error types. Here are more detailed structural descriptions.