首页 > 解决方案 > 使用现有 Rails 应用程序验证 Flask API

问题描述

我有一个使用 Ruby on Rails 开发的现有 Web 应用程序,我想创建一个简单的 Flask API 来对现有表发出请求并使用预先存在的用户验证 API。最好的方法是什么?

标签: ruby-on-railsflask-restfulflask-login

解决方案


我最终创建了一个 api 生成器模块并在用户模型中需要它,设置了 before_validation 以便在新用户注册时生成 api 密钥。然后用户可以使用 api 密钥对烧瓶 api 进行身份验证。

# lib/apy_key.rb

module ApiKey
  def self.generator
    SecureRandom.base64(40)
  end
end
# models/user.rb
class User < ActiveRecord::Base
...
  require './lib/api_key.rb'
  validates_presence_of :api_key
  validates_uniqueness_of :api_key
  before_validation :set_api_key

  private
    def set_api_key
      self.api_key = ApiKey.generator
    end

end

推荐阅读