Livekitex.TokenVerifier (livekitex v0.1.0)
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_grant
on 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)