Skip to content

Commit

Permalink
Fix benchmarks proper usage and credo
Browse files Browse the repository at this point in the history
  • Loading branch information
victorolinasc committed Aug 31, 2023
1 parent cdd978a commit 0832071
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 47 deletions.
12 changes: 6 additions & 6 deletions benchmarks/hs_benchmark.exs
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
defmodule HS256Auth do
use Joken.Config, default_key: :hs256
use Joken.Config, default_signer: :hs256
end

defmodule HS384Auth do
use Joken.Config, default_key: :hs384
use Joken.Config, default_signer: :hs384
end

defmodule HS512Auth do
use Joken.Config, default_key: :hs512
use Joken.Config, default_signer: :hs512
end

defmodule HS256AuthVerify do
use Joken.Config, default_key: :hs256
use Joken.Config, default_signer: :hs256

def token_config do
%{}
Expand All @@ -23,7 +23,7 @@ defmodule HS256AuthVerify do
end

defmodule HS384AuthVerify do
use Joken.Config, default_key: :hs384
use Joken.Config, default_signer: :hs384

def token_config do
%{}
Expand All @@ -35,7 +35,7 @@ defmodule HS384AuthVerify do
end

defmodule HS512AuthVerify do
use Joken.Config, default_key: :hs512
use Joken.Config, default_signer: :hs512

def token_config do
%{}
Expand Down
20 changes: 10 additions & 10 deletions benchmarks/jose_hs_benchmark.exs
Original file line number Diff line number Diff line change
Expand Up @@ -10,34 +10,34 @@ Benchee.run(%{
"JOSE HS256" => fn ->
# Same as default claims for Joken
jwt = %{
"exp" => Joken.CurrentTime.current_time() + 2 * 60 * 60,
"exp" => Joken.CurrentTime.OS.current_time() + 2 * 60 * 60,
"iss" => "Joken",
"nbf" => Joken.CurrentTime.current_time(),
"iat" => Joken.CurrentTime.current_time()
"nbf" => Joken.CurrentTime.OS.current_time(),
"iat" => Joken.CurrentTime.OS.current_time()
}

JOSE.JWT.sign(jwk_hs256, jws_hs256, jwt) |> JOSE.JWS.compact()
end,
"JOSE HS384" => fn ->
# Same as default claims for Joken
jwt = %{
"exp" => Joken.CurrentTime.current_time() + 2 * 60 * 60,
"exp" => Joken.CurrentTime.OS.current_time() + 2 * 60 * 60,
"iss" => "Joken",
"nbf" => Joken.CurrentTime.current_time(),
"iat" => Joken.CurrentTime.current_time()
"nbf" => Joken.CurrentTime.OS.current_time(),
"iat" => Joken.CurrentTime.OS.current_time()
}

JOSE.JWT.sign(jwk_hs384, jws_hs384, jwt) |> JOSE.JWS.compact()
end,
"JOSE HS512" => fn ->
# Same as default claims for Joken
jwt = %{
"exp" => Joken.CurrentTime.current_time() + 2 * 60 * 60,
"exp" => Joken.CurrentTime.OS.current_time() + 2 * 60 * 60,
"iss" => "Joken",
"nbf" => Joken.CurrentTime.current_time(),
"iat" => Joken.CurrentTime.current_time()
"nbf" => Joken.CurrentTime.OS.current_time(),
"iat" => Joken.CurrentTime.OS.current_time()
}

JOSE.JWT.sign(jwk_hs512, jws_hs512, jwt) |> JOSE.JWS.compact()
end
})
})
12 changes: 6 additions & 6 deletions benchmarks/pem_rs_benchmark.exs
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
defmodule RS256Auth do
use Joken.Config, default_key: :pem_rs256
use Joken.Config, default_signer: :pem_rs256
end

defmodule RS384Auth do
use Joken.Config, default_key: :pem_rs384
use Joken.Config, default_signer: :pem_rs384
end

defmodule RS512Auth do
use Joken.Config, default_key: :pem_rs512
use Joken.Config, default_signer: :pem_rs512
end

defmodule RS256AuthVerify do
use Joken.Config, default_key: :rs256
use Joken.Config, default_signer: :rs256

def token_config do
%{}
Expand All @@ -23,7 +23,7 @@ defmodule RS256AuthVerify do
end

defmodule RS384AuthVerify do
use Joken.Config, default_key: :rs384
use Joken.Config, default_signer: :rs384

def token_config do
%{}
Expand All @@ -35,7 +35,7 @@ defmodule RS384AuthVerify do
end

defmodule RS512AuthVerify do
use Joken.Config, default_key: :rs512
use Joken.Config, default_signer: :rs512

def token_config do
%{}
Expand Down
12 changes: 6 additions & 6 deletions benchmarks/rs_benchmark.exs
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
defmodule RS256Auth do
use Joken.Config, default_key: :rs256
use Joken.Config, default_signer: :rs256
end

defmodule RS384Auth do
use Joken.Config, default_key: :rs384
use Joken.Config, default_signer: :rs384
end

defmodule RS512Auth do
use Joken.Config, default_key: :rs512
use Joken.Config, default_signer: :rs512
end

defmodule RS256AuthVerify do
use Joken.Config, default_key: :rs256
use Joken.Config, default_signer: :rs256

def token_config do
%{}
Expand All @@ -23,7 +23,7 @@ defmodule RS256AuthVerify do
end

defmodule RS384AuthVerify do
use Joken.Config, default_key: :rs384
use Joken.Config, default_signer: :rs384

def token_config do
%{}
Expand All @@ -35,7 +35,7 @@ defmodule RS384AuthVerify do
end

defmodule RS512AuthVerify do
use Joken.Config, default_key: :rs512
use Joken.Config, default_signer: :rs512

def token_config do
%{}
Expand Down
36 changes: 17 additions & 19 deletions lib/joken/config.ex
Original file line number Diff line number Diff line change
Expand Up @@ -266,31 +266,29 @@ defmodule Joken.Config do
end

defp generate_config(skip, default_exp, default_iss, default_aud, generate_jti) do
gen_exp_func = fn -> current_time() + default_exp end

Enum.reduce(@default_generated_claims, %{}, fn claim, acc ->
if claim in skip do
acc
else
case claim do
:exp ->
add_claim(acc, "exp", gen_exp_func, &(&1 > current_time()))
cond do
claim in skip ->
acc

:iat ->
add_claim(acc, "iat", fn -> current_time() end)
# credo:disable-for-lines:14 Credo.Check.Refactor.Nesting
claim == :exp ->
add_claim(acc, "exp", fn -> current_time() + default_exp end, &(&1 > current_time()))

:nbf ->
add_claim(acc, "nbf", fn -> current_time() end, &(current_time() >= &1))
claim == :iat ->
add_claim(acc, "iat", fn -> current_time() end)

:iss ->
add_claim(acc, "iss", fn -> default_iss end, &(&1 == default_iss))
claim == :nbf ->
add_claim(acc, "nbf", fn -> current_time() end, &(current_time() >= &1))

:aud ->
add_claim(acc, "aud", fn -> default_aud end, &(&1 == default_aud))
claim == :iss ->
add_claim(acc, "iss", fn -> default_iss end, &(&1 == default_iss))

:jti ->
add_claim(acc, "jti", generate_jti)
end
claim == :aud ->
add_claim(acc, "aud", fn -> default_aud end, &(&1 == default_aud))

claim == :jti ->
add_claim(acc, "jti", generate_jti)
end
end)
end
Expand Down

0 comments on commit 0832071

Please sign in to comment.