سؤال

أنا استخدم جوهرة كبيرة في مشروعي. أقوم بتهيئته باستخدام خيارات Client_id و Service_email و Key و Project_id و DataSet. لديّ ملف .p12 الخاص بي من Google أريد أن أضره ، لكنني لست متأكدًا من مكان وضع الملف في مشروع Rails الخاص بي - لقد حاولت وضعه في نفس الدليل مثل ملف التكوين الخاص بي وتمرير اسم المسار النسبي ، ولكن أحصل على خطأ في عبارة المرور غير صالح. خاصة، الخط 10 هل يرمي خطأ عند استدعاء load_key:

key = Google::APIClient::PKCS12.load_key(
  opts['key'],
  "notasecret"
)

من الواضح أنه لا يتم تحميل ملف المفتاح بشكل صحيح. أنا فظيع في Rails Asset Control - أين يجب أن أضع Keyfile وما هو المسار الذي يجب أن أقضيه في خياراتي؟

هل كانت مفيدة؟

المحلول

يمكنك وضع Keyfile في دليل التكوين ، ثم القيام بما يلي:

opts['key'] = Rails.root.join('config','nameofkeyfile.p12').to_s

لا تريد أن يكون المفتاح في موقع سيخدم تطبيقك للجمهور ، لذلك يبدو التهيئة بمثابة موقع جيد بالنسبة لي.

يمكنك تجربة الكتلة التي لديك أعلاه في وحدة التحكم في Rails:

# run `rails c` then
keypath = Rails.root.join('config','nameofkeyfile.p12').to_s
key = Google::APIClient::PKCS12.load_key(keypath, "notasecret")

أنظر إلى Google :: Apiclient Documentation, ، أرى load_key تم إهماله. يوصيون باستخدام Google::APIClient::KeyUtils في حين أن.

key = Google::APIClient::KeyUtils.load_from_pkcs12(keyfile, "notasecret")

أما بالنسبة لمحة عامة سريعة عن خط أنابيب أصول Rails ، انظر هنا. (يرجى العفو عن جزء "للدمى" من عنوان URL هذا ، يبدو أنه معلومات جيدة وسريعة.)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top