ycv005
Getting error function Joken.token/1 is undefined or private
I am getting the JWT Token from Google/Gmail Oath and now, I want to decode it using the Joken library. Following are the step I have done-
1- Added the code in mix.exs
{:joken, "~> 2.0"},
2- Added the code in config/dev.exs
config :joken, default_signer: "secret"
3- In new file, make a module
defmodule Apollo.Token do
use Joken.Config
def decode(token) do
token
|> Joken.token()
|> Joken.peek()
end
end,
4- Now, calling module from this like -
struct = Apollo.Token.decode(token)
Due to the 4th step, I am getting error that is Gettting error function Joken.token/1 is undefined or private. Your response will be highly appreciable.
Most Liked
al2o3cr
The code in your decode function appears to be written for Joken 1.x - Joken.token exists there.
The documentation now warns against using peek_* functions in most cases, as they don’t validate the signature. OTOH, the Google docs for OpenID Connect suggest it may not be a hard requirement.
Ansvas
signer = Joken.Signer.create("HS256", "secret")
{:ok, token_with_default_claims} = MyApp.Token.generate_and_sign(%{}, signer)
extra_claims = %{"user_id" => "some_id"}
token_with_default_plus_custom_claims = MyApp.Token.generate_and_sign!(extra_claims, signer)
{:ok, claims} = MyApp.Token.verify_and_validate(token, signer)
I have used this code and this is running fine. here first i create signer and then used that signer to verify the token, but when i used this signer with id_token(received from Gmail OAuth) this returns me an error. Why i need signer and all because on online platforms(https://www.jsonwebtoken.io/) i am getting json by just pasting the id_token(how i can do the same using joken)
Popular in Questions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance








