Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Elixir 从Cowboy启动呼叫获取插入式路由器的信息_Elixir_Cowboy - Fatal编程技术网

Elixir 从Cowboy启动呼叫获取插入式路由器的信息

Elixir 从Cowboy启动呼叫获取插入式路由器的信息,elixir,cowboy,Elixir,Cowboy,我在想办法从我的牛仔创业电话中得到线索 token = RandomString.generate() Plug.Adapters.Cowboy.http MyRouter, [] 到路由器中使用的代码: get "/webhook/:token" do if token == [what I generated earlier] do # handle request end end 更具体地说:我正在一个webhook服务器上工作。我想: 在服务器启动时生成一个秘密令牌

我在想办法从我的牛仔创业电话中得到线索

token = RandomString.generate()
Plug.Adapters.Cowboy.http MyRouter, []
到路由器中使用的代码:

get "/webhook/:token" do
  if token == [what I generated earlier] do
    # handle request
  end
end

更具体地说:我正在一个webhook服务器上工作。我想:

  • 在服务器启动时生成一个秘密令牌
  • 将该令牌发送到API服务器,该服务器将在将来向我的服务器发出请求时使用该令牌
  • 我正在努力解决的问题是:让服务器将请求中提供的令牌与生成的令牌进行比较,并确保匹配以允许请求
  • 我在Plug.Adapters.Cowboy.http的options参数中都看不到允许我将用户数据获取到路由器的任何内容


    如何从启动cowboy到路由器的函数中获取令牌,以便实施身份验证?

    您可以使用命名的ETS表来存储令牌。启动期间,请执行以下操作:

    :ets.new(:configuration, [:named_table, :set, :protected])
    :ets.insert(:configuration, {:token, token})
    
    然后,当您以后需要获取令牌时:

    [token: token] = :ets.lookup(:configuration, :token)
    
    也看到