Livekitex.TokenVerifier (livekitex v0.1.34)
Provides functionality to verify and validate LiveKit access tokens.
Summary
Functions
Validates token claims without signature verification. Useful for inspecting token contents.
Creates a new TokenVerifier.
Verifies a JWT token and returns the claims.
Verifies a JWT token and returns the claims, raising on error.
Validates specific permissions in a token.
Types
Functions
Validates token claims without signature verification. Useful for inspecting token contents.
Parameters
token: The JWT token string to decode.
Returns
{:ok, claim_grant}on successful decoding.{:error, reason}on decoding failure.
Examples
iex> {:ok, claims} = Livekitex.TokenVerifier.decode_claims(token)
iex> claims.identity
"user"
Creates a new TokenVerifier.
Parameters
api_key: The API key for your LiveKit project.api_secret: The API secret for your LiveKit project.
Examples
iex> Livekitex.TokenVerifier.new("api_key", "api_secret")
%Livekitex.TokenVerifier{api_key: "api_key", api_secret: "api_secret"}
Verifies a JWT token and returns the claims.
Parameters
verifier: A TokenVerifier struct.token: The JWT token string to verify.
Returns
{:ok, claim_grant}on successful verification.{:error, reason}on verification failure.
Examples
iex> verifier = Livekitex.TokenVerifier.new("devkey", "secret")
iex> {:ok, claims} = Livekitex.TokenVerifier.verify(verifier, valid_token)
iex> claims.identity
"user"
Verifies a JWT token and returns the claims, raising on error.
Parameters
verifier: A TokenVerifier struct.token: The JWT token string to verify.
Returns
claim_granton successful verification.- Raises an exception on verification failure.
Examples
iex> verifier = Livekitex.TokenVerifier.new("devkey", "secret")
iex> claims = Livekitex.TokenVerifier.verify!(verifier, valid_token)
iex> claims.identity
"user"
Validates specific permissions in a token.
Parameters
verifier: A TokenVerifier struct.token: The JWT token string to verify.permissions: A keyword list of required permissions.
Returns
{:ok, claim_grant}if token is valid and has required permissions.{:error, reason}if verification fails or permissions are insufficient.
Examples
iex> verifier = Livekitex.TokenVerifier.new("devkey", "secret")
iex> {:ok, claims} = Livekitex.TokenVerifier.verify_permissions(verifier, token, room_join: true)