小编yos*_*dyo的帖子

使用Devise设置API进行身份验证

我正在尝试为我的rails应用程序设置用户注册端点,以便我可以在iOS再现中访问应用程序功能.我已经开始将命名空间命名为API,到目前为止已经设法使用Devise和JWT进行用户身份验证.

这很棒,但我还需要能够通过API注册用户.坦率地说,我不知道如何正确实现这一点.几个GOogle文章要么提出过时的文章,使用已弃用的令牌可验证,要么从未得到过回答.

以下是我认为与此问题最相关的代码:

routes.rb(API的Namespaced部分)

namespace :api do
   namespace :v1 do
      devise_for :users, controllers: { registrations: 'api/v1/registrations' }
         resources :classrooms
         resources :notifications
      end
   end
end
Run Code Online (Sandbox Code Playgroud)

registrations_controller.rb(API contorller)

class Api::V1::RegistrationsController < Devise::RegistrationsController
  respond_to :json

  def create
    if params[:email].nil?
      render :status => 400,
      :json => {:message => 'User request must contain the user email.'}
      return
    elsif params[:password].nil?
      render :status => 400,
      :json => {:message => 'User request must contain the user password.'}
      return
    end

    if params[:email]
      duplicate_user = User.find_by_email(params[:email]) …
Run Code Online (Sandbox Code Playgroud)

api ruby-on-rails user-registration devise

6
推荐指数
2
解决办法
4994
查看次数

标签 统计

api ×1

devise ×1

ruby-on-rails ×1

user-registration ×1