Skip to content

Commit

Permalink
fix: URL-encode password value (#282)
Browse files Browse the repository at this point in the history
Closes #281

Sqlalchemy needs the url to be encoded as described in
https://github.com/snowflakedb/snowflake-sqlalchemy?tab=readme-ov-file#escaping-special-characters-such-as---signs-in-passwords.
This alters the default behavior to encode passwords.
  • Loading branch information
pnadolny13 authored Oct 25, 2024
1 parent c8828f8 commit 06f6a8a
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion target_snowflake/connector.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from __future__ import annotations

import urllib.parse
from enum import Enum
from functools import cached_property
from operator import contains, eq
Expand Down Expand Up @@ -194,7 +195,7 @@ def get_sqlalchemy_url(self, config: dict) -> str:
if self.auth_method == SnowflakeAuthMethod.BROWSER:
params["authenticator"] = "externalbrowser"
elif self.auth_method == SnowflakeAuthMethod.PASSWORD:
params["password"] = config["password"]
params["password"] = urllib.parse.quote(config["password"])

for option in ["warehouse", "role"]:
if config.get(option):
Expand Down

0 comments on commit 06f6a8a

Please sign in to comment.