# Authenticate for Plugin SDK for Windows

<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

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
}
```
