繁体   English   中英

如何在Ruby on Rails中生成API密钥和秘密?

[英]How to generate an API Key and Secret in Ruby on Rails?

例如API_key: 4faa86aa5848207502000002和API_secret 7375d7d1e89d3d602b184432fbcf3c09c7cb30676f19af9ac57d228be401

我应该使用SecureRandom吗?

谢谢!

ActiveSupport :: SecureRandom可用于实际生成 ,但您还应考虑在不同事件上使令牌无效和重置的方法。

既然您正在使用Devise,请查看Token Auth策略 您可以使用两个令牌(分别为API Key和API Secret)编写类似的策略。 您需要同时编写策略和模型,但在这两种情况下,Token Auth示例都会让您走得很远。

作为起点(来自Token Auth示例),您的模型应声明两个必需参数。

module Devise
  module Models
    module APIKeyAuthenticatable
      ...
      def self.required_fields(klass)
        [:api_key, :api_secret]
      end

      def reset_keys
        self.api_key = self.class.api_key
        self.api_secret = self.class.api_secret
      end

您可能还想阅读设计的自定义身份验证策略 如果您希望在设计上提供更全功能的API身份验证解决方案devise_oauth2_providable看起来相当不错。

我试过authlogic_api 这很容易实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM