api - 生成 API key 的最佳方法?

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

用例

我正在构建一个带有简单注册和登录的 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/

相关文章:

c - Ruby C 扩展 : rb_funcall causing segfault

r - Shiny - 在 observeEvent 中调用 API 后更新 UI

Azure AD 访问 token 不包含组声明

r - 尝试从 API 获取数据

google-translate - 在本地主机上使用 Google Translation API

python - NumPy C API : Link several object files

php - 如何使用 Laravel Passport 在 API 中正确实现 OAuth?

c# - 生产服务器上的 ASP.NET Identity session 过期过快

asp.net-mvc - 基于表单的身份验证和基于 token 的身份验证之间的区别

reactjs - 使用 Vite 在 React 中加载环境变量