# Authenticate for Plugin SDK for Windows The Plugin SDK communicates with the installed Zoom desktop client over IPC. Authenticate the plugin session by initializing the SDK, then provide an OAuth 2.0 access token in `ZMToolSuiteProxyAuthContext` and call `StartToolSuiteAuth(...)`. Include `plugin_sdk:read:connection_meta` so the token can establish the plugin connection and read the metadata needed for the handshake. ```cpp #include "ToolSuiteProxyInterface.h" void InitPluginSdk(const std::wstring& accessToken) { // 1) Initialize the Windows Plugin SDK runtime InitZMToolSuite(); // 2) Build auth context ZMToolSuiteProxy::ZMToolSuiteProxyAuthContext context; context.accessToken = accessToken.c_str(); context.domain = L"https://zoom.us"; // 3) Authenticate over IPC with Zoom client StartToolSuiteAuth(context); // 4) Register listener for auth/IPC callbacks ZMToolSuiteProxy::SetToolSuiteProxyListener(this); } ``` The authentication result callback is invoked once authorization completes, whether it succeeds or fails. ```cpp void OnAuthResult(ZMToolSuiteProxy::ZMToolSuiteProxyAuthResult eResult) override { // AUTH_RESULT_SUCCESS, AUTH_RESULT_REQUEST_ERROR, // AUTH_RESULT_VERIFY_USER_FAILED, AUTH_RESULT_FAILED } ```