用例
我正在构建一个带有简单注册和登录的 iPhone 应用程序。
当用户注册/登录时,我希望 Ruby (Sinatra) 服务器生成/获取并返回该用户的访问 token ,然后 iPhone 客户端可以使用基于 HTTPS 的基本身份验证在每个后续请求中发送该 token 。
我尚未实现 OAuth 2.0,以便第三方应用程序可以访问服务器。现在,我只是在构建一个简单的内部 API(用于我自己的第一方 iPhone 应用程序)。
例子
基本上,我想生成一个像 Stripe 一样的 secret API key :https://manage.stripe.com/account/apikeys
例如:sk_test_NMss5Xyp42TnLD9tW9vANWMr
用 Ruby 说,最好的方法是什么?
最佳答案
Ruby stdlib 提供了一整套名为 SecureRandom
的安全随机数据生成器。 .无论你想要什么,你都可以在那里找到。
Stripe 的 key 本质上是 URL 安全的 Base64。你可以得到类似的东西:
require 'securerandom'
p "sk_test_" + SecureRandom.urlsafe_base64
(Stripe 确实会去除非字母数字字符,但如果您不想在键中使用连字符,这与 gsub 无关。)
关于api - 生成 API key 的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18921093/