Skip to content

Commit

Permalink
fix: log error on invalid jwt (#1296)
Browse files Browse the repository at this point in the history
  • Loading branch information
filipecabaco authored Feb 12, 2025
1 parent b4d89d5 commit af322f4
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 9 deletions.
6 changes: 3 additions & 3 deletions lib/realtime_web/channels/realtime_channel.ex
Original file line number Diff line number Diff line change
Expand Up @@ -103,15 +103,15 @@ defmodule RealtimeWeb.RealtimeChannel do
{:ok, state, assign(socket, assigns)}
else
{:error, :expired_token, msg} ->
Logging.log_error_message(:warning, "InvalidJWTToken", msg)
Logging.log_error_message(:error, "InvalidJWTToken", msg)

{:error, :missing_claims} ->
msg = "Fields `role` and `exp` are required in JWT"
Logging.log_error_message(:warning, "InvalidJWTToken", msg)
Logging.log_error_message(:error, "InvalidJWTToken", msg)

{:error, :expected_claims_map} ->
msg = "Token claims must be a map"
Logging.log_error_message(:warning, "InvalidJWTToken", msg)
Logging.log_error_message(:error, "InvalidJWTToken", msg)

{:error, :unauthorized, msg} ->
Logging.log_error_message(:warning, "Unauthorized", msg)
Expand Down
10 changes: 5 additions & 5 deletions lib/realtime_web/channels/user_socket.ex
Original file line number Diff line number Diff line change
Expand Up @@ -87,11 +87,11 @@ defmodule RealtimeWeb.UserSocket do
{:error, :tenant_not_found}

{:error, :expired_token, msg} ->
log_warning_with_token_metadata(msg, token)
log_error_with_token_metadata(msg, token)
{:error, :expired_token}

{:error, :missing_claims} ->
log_warning_with_token_metadata("Fields `role` and `exp` are required in JWT", token)
log_error_with_token_metadata("Fields `role` and `exp` are required in JWT", token)
{:error, :missing_claims}

error ->
Expand All @@ -108,14 +108,14 @@ defmodule RealtimeWeb.UserSocket do
end
end

defp log_warning_with_token_metadata(msg, token) do
defp log_error_with_token_metadata(msg, token) do
case Joken.peek_claims(token) do
{:ok, claims} ->
sub = Map.get(claims, "sub")
log_warning("InvalidJWTToken", msg, sub: sub)
log_error("InvalidJWTToken", msg, sub: sub)

_ ->
log_warning("InvalidJWTToken", msg)
log_error("InvalidJWTToken", msg)
end
end
end
2 changes: 1 addition & 1 deletion mix.exs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ defmodule Realtime.MixProject do
def project do
[
app: :realtime,
version: "2.34.20",
version: "2.34.21",
elixir: "~> 1.17.3",
elixirc_paths: elixirc_paths(Mix.env()),
start_permanent: Mix.env() == :prod,
Expand Down

0 comments on commit af322f4

Please sign in to comment.