توليد مفاتيح واجهة برمجة تطبيقات المستخدم للاختبار

متابعةً للنقاش من مواصفات مفاتيح API للمستخدمين:

لقد أنشأتُ سكربتًا بسيطًا للمساعدة في اختبار مفاتيح API للمستخدمين محليًا.

أولاً، قم بتثبيت التبعيات:

gem install addressable openssl base64 json

ثم السكربت موجود هنا:

require 'addressable'
require 'openssl'
require 'base64'
require 'json'

PRIVATE_KEY = OpenSSL::PKey::RSA.new(2048)
PUBLIC_KEY = PRIVATE_KEY.public_key

puts 'ما هو الموقع المستهدف؟'
site = STDIN.gets.chomp

template = Addressable::Template.new("#{site}/user-api-key/new{?query*}")

url = template.expand({
  query: {
    application_name: 'ruby',
    client_id: `hostname`,
    scopes: 'read',
    public_key: PUBLIC_KEY,
    nonce: 1
  }
})

puts "انتقل إلى #{url}."
puts

puts "انسخ المفتاح الذي تم إنشاؤه هنا"
puts

puts "اضغط ENTER واكتب end ثم اضغط ENTER مرة أخرى"
puts

$/ = "end"
encoded_key = STDIN.gets.chomp

user_api_key = JSON.parse(PRIVATE_KEY.private_decrypt(Base64.decode64(encoded_key)))

puts "مفتاح API للمستخدم الخاص بك هو #{user_api_key['key']}"
19 إعجابًا