我是第一次使用凤凰应用程序设置监护人。我正在使用Guardian Config中的密钥敲打路障。我不知道在哪里保密密钥以及如何生成密钥?我基本上是从自述文件中复制并粘贴的,我确信这不正确,但我似乎无法在这个问题上找到合适的文档。以下是我尝试与数据库中的用户创建会话时遇到的问题。
erlang error: {:not_supported, ["P-521", :HS512]}
这是我当前的配置文件,显然是错误的。
config :guardian, Guardian,
issuer: "PerriAir",
ttl: { 30, :days },
verify_issuer: true, # optional
secret_key: %{
"crv" => "P-521",
"d" => "axDuTtGavPjnhlfnYAwkHa4qyfz2fdseppXEzmKpQyY0xd3bGpYLEF4ognDpRJm5IRaM31Id2NfEtDFw4iTbDSE",
"kty" => "EC",
"x" => "AL0H8OvP5NuboUoj8Pb3zpBcDyEJN907wMxrCy7H2062i3IRPF5NQ546jIJU3uQX5KN2QB_Cq6R_SUqyVZSNpIfC",
"y" => "ALdxLuo6oKLoQ-xLSkShv_TA0di97I9V92sg1MKFava5hKGST1EKiVQnZMrN3HO8LtLT78SNTgwJSQHAXIUaA-lV"
},
serializer: PerriAir.GuardianSerializer
关于如何生成正确密钥的任何提示都会很棒谢谢!
答案 0 :(得分:5)
iex
iex -S mix
JOSE.JWK.generate_key({:oct, 16}) |> JOSE.JWK.to_map |> elem(1)
并复制输出的内容。 secret_key
键下,其中您有另一把钥匙。以上示例适用于八位字节。您可以在hexdocs.pm/jose/key-generation找到更多关键类型,在https://github.com/ueberauth/guardian/issues/152
找到密钥生成选项