Skip to content

Commit ebe70c1

Browse files
authored
make verify_signature optional for TokenVerifier (#473)
1 parent 0389db8 commit ebe70c1

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

livekit-api/livekit/api/access_token.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -199,22 +199,22 @@ def __init__(
199199
api_key = api_key or os.getenv("LIVEKIT_API_KEY")
200200
api_secret = api_secret or os.getenv("LIVEKIT_API_SECRET")
201201

202-
if not api_key or not api_secret:
203-
raise ValueError("api_key and api_secret must be set")
204-
205202
self.api_key = api_key
206203
self.api_secret = api_secret
207204
self._leeway = leeway
208205

209-
def verify(self, token: str) -> Claims:
206+
def verify(self, token: str, *, verify_signature: bool = True) -> Claims:
207+
if verify_signature and (not self.api_key or not self.api_secret):
208+
raise ValueError("api_key and api_secret must be set")
209+
210210
claims = jwt.decode(
211211
token,
212-
self.api_secret,
213-
issuer=self.api_key,
212+
key=self.api_secret or "",
213+
issuer=self.api_key or "",
214214
algorithms=["HS256"],
215215
leeway=self._leeway.total_seconds(),
216+
options={"verify_signature": verify_signature},
216217
)
217-
218218
video_dict = claims.get("video", dict())
219219
video_dict = {camel_to_snake(k): v for k, v in video_dict.items()}
220220
video_dict = {k: v for k, v in video_dict.items() if k in VideoGrants.__dataclass_fields__}

0 commit comments

Comments
 (0)