Я настроил Firebase для аутентификации через внешний интерфейс и отправляю токен ID, который является JWT, на мой бэкэнд-феникс.
Я застрял, пытаясь проверить JWT.
Инструкции Google по этому вопросу: здесь . tldr, возьмите общедоступный сертификат и используйте его, чтобы убедиться, что подпись JWT была подписана с правильным закрытым ключом.
Пока у меня есть это
def verify(token) do
{:ok, resp} = HTTPoison.get(@cert_url)
%{body: body} = resp
body = Poison.Parser.parse!(body, %{})
{:ok, header} = Joken.peek_header(token)
cert = body[header["kid"]]
end
Я там потерян. Нужно ли конвертировать открытый сертификат в открытый ключ? Как мне создать Joken.Signer с алгоритмом подписи RS256 и публичным сертификатом? Я открыт для решений, которые также не используют Joken.
Спасибо!