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



TL;DR:我该如何与sinatra和监狱长创建注册功能

我正在尝试为Sinatra应用程序制作一个简单的身份验证系统,我发现监狱长可能是最好的选择。我已经找到了很多关于如何使用它的例子。我从sklise的例子开始工作。

我很快就遇到了注册的问题。看看有可能用之类的东西创建一个新用户

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

但后来呢?如何验证/登录此全新用户?我似乎找不到任何关于如何使用sinatra+warden构建注册功能的参考。事实上,我似乎根本找不到任何东西给典狱长。典狱长维基上没有一个例子有注册功能。有人能解决这个问题吗?

感谢

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

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