【问题标题】:Best way to generate API Key?生成 API 密钥的最佳方法?
【发布时间】:2013-09-26 02:19:42
【问题描述】:

用例

我正在通过简单的注册和登录构建一个 iPhone 应用程序。

当用户注册/登录时,我希望 Ruby (Sinatra) 服务器为该用户生成/获取并返回访问令牌,然后 iPhone 客户端可以使用基于 HTTPS 的基本身份验证随每个后续请求一起发送该访问令牌。

我尚未实施 OAuth 2.0,以便第三方应用可以访问服务器。现在,我只是在构建一个简单的内部 API(用于我自己的第一方 iPhone 应用)。

示例

基本上,我想生成一个类似于 Stripe 的 API 密钥:https://manage.stripe.com/account/apikeys

例如:sk_test_NMss5Xyp42TnLD9tW9vANWMr

用 Ruby 来说,最好的方法是什么?

【问题讨论】:

    标签: api access-token api-key stripe-payments


    【解决方案1】:

    Ruby 标准库提供了一整类称为SecureRandom 的安全随机数据生成器。无论你想要什么,你都可以在那里找到。

    Stripe 的键本质上是 URL 安全的 Base64。你可以得到非常相似的东西:

    require 'securerandom'
    
    p "sk_test_" + SecureRandom.urlsafe_base64
    

    (Stripe 确实会去除非字母数字字符,但如果您不想在键中使用连字符,这对 gsub 来说是微不足道的。)

    【讨论】:

      猜你喜欢
      • 2020-10-05
      • 2011-05-01
      • 1970-01-01
      • 2010-10-12
      • 1970-01-01
      • 2021-12-17
      • 2020-04-26
      • 2015-07-27
      相关资源
      最近更新 更多