在 post ("sign up") 上创建和验证用户。典狱长+辛纳屈

Creating and authenticating user on post ("sign up"). Warden + Sinatra

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 中的 None 个示例具有注册功能。有人对此有解决方案吗?

谢谢

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

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)
...