Connect button
Browser connection, per-tab state and protected callback.
Handling the return
Helpers verify state, callback and expiry before exchange. Show a clear error and a fresh button for denied or expired flows. Avoid analytics and logs that record the full URL containing the code.
Disconnect one app
The user can revoke a connection in the Pura console. Revocation invalidates that app’s tokens; other connected apps continue working. Also remove the local OAuth session when the user disconnects in your app.