Create an OAuth security integration
A custom OAuth security integration registers StackOne as an OAuth client in your Snowflake account and pre-authorizes the role your users will connect with.
Sign in to Snowflake
Sign in to your Snowflake account.
- In the left sidebar, go to Projects > Workspaces.
- Click + Add new to create a new SQL worksheet.
Create the security integration
Run the following SQL, replacing <integration_name> with a name of your choice (e.g., STACKONE_OAUTH), <callback_url> with the Callback URL from your Connector Profile, and <role_name> with the Snowflake role your users will authorize with.
OAUTH_REFRESH_TOKEN_VALIDITYis in seconds — 7776000 equals 90 days- The role in
PRE_AUTHORIZED_ROLES_LISTmust exactly match the Snowflake Role field. - Example: if your users connect with the
SYSADMINrole, usePRE_AUTHORIZED_ROLES_LIST = ('SYSADMIN')and enterSYSADMINas the Snowflake Role - To find a role: your current role is shown next to your username in the bottom-left corner of Snowsight (e.g.,
ACCOUNTADMIN). Note that ACCOUNTADMIN, SECURITYADMIN, ORGADMIN, and GLOBALORGADMIN are blocked for OAuth — pick a non-blocked role such asSYSADMIN
Retrieve your OAuth client credentials
Snowflake generates the client credentials when the integration is created; they are retrieved with a system function rather than shown in the UI.
Fetch the client credentials
In the same worksheet, run the following SQL, replacing <INTEGRATION_NAME> with your integration name in uppercase, wrapped in single quotes.
Copy your credentials
The result is a JSON object containing your client credentials. Store them securely for use later.
oauth_client_idis your OAuth Client IDoauth_client_secretis your OAuth Client Secret
Create the StackOne Connector Profile
Create a Connector Profile
Link an Account