在帖子上创建和验证用户("注册")。 Warden + Sinatra

时间:2016-04-18 19:41:16

标签: authentication sinatra warden

TL; DR:如何使用sinatra和warden创建注册功能?

我正在尝试为Sinatra应用程序创建一个简单的身份验证系统,我发现warden可能是最好的选择。我找到了很多关于如何使用它的例子。我开始使用sklise的示例。

我很快就遇到了注册的问题。看到可以创建一个类似

的新用户
post '/auth/signup' do
  u = User.new(:username => params[:username], :password => params[:password])
  u.save

但那又怎么样?如何验证/签署此全新用户?我似乎无法找到任何关于如何使用sinatra + warden构建注册功能的单一参考。事实上,我似乎无法为监狱长找到任何东西。 Warden wiki上的所有示例都没有注册功能。有人有解决方案吗?

由于

1 个答案:

答案 0 :(得分:1)

不完全是监狱长的爱好者,但这看起来像你想看的地方:

https://github.com/hassox/warden/blob/906edf86c6c31be917a921097031b89361d022e8/lib/warden/strategies/base.rb#L116

从你的例子中我认为你想做这样的事情:

post '/auth/signup' do
  u = User.new(:username => params[:username], :password => params[:password])
  u.save
  env['warden'].success!(u)
...