Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save sahidursuman/cea9fe634844de8a92035b1b740775a4 to your computer and use it in GitHub Desktop.
Save sahidursuman/cea9fe634844de8a92035b1b740775a4 to your computer and use it in GitHub Desktop.
before_filter that checks for a login token and logs the user in if it's valid
def maybe_login_from_token
Rails.logger.info "maybe_login_from_token: '#{ params[:token] }'"
return if (token = params[:token]).blank?
if (user = User.find_by_token(token))
Rails.logger.info "One time login token used for user #{ user.id }"
sign_in(user)
else
Rails.logger.info "No user found from token: '#{ token }'"
end
# strip token regardless of success
redirect_to request.path,
params.except(:token, :action, :controller)
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment