سجّل تطبيقك

التطبيق الذي يسجّل دخول الأشخاص عبر Hivesigner هو حساب على Hive. اسمه هو client_id الذي ترسله. ويحمل ملفه الشخصي الإعدادات التي يقرأها Hivesigner: عناوين الاستدعاء التي يجوز إرسال الرموز إليها، وللتدفق بالكود مفتاحًا سريًا للعميل. وللبثّ عبر الواجهة، يمنح حساب التطبيق أيضًا صلاحية النشر إلى @hivesigner. تمرّ هذه الصفحة على كل خطوة.

ما تحتاج إليه

ما تريده حساب تطبيق وعناوين استدعاء مفتاح سري للعميل تفويض @hivesigner
تسجيل دخول الأشخاص والبثّ بالتدفق بالرمز نعم لا نعم
تسجيل دخول الأشخاص والبثّ بالتدفق بالكود (رموز تجديد) نعم نعم نعم
تسجيل الدخول فقط، برمز يسمّي تطبيقك نعم لا لا
تسجيل الدخول فقط، من موقع بلا حساب على Hive لا لا لا
إرسال روابط توقيع لا لا لا

للصفّين الأخيرين، راجع تسجيل الدخول دون وصول النشر وروابط التوقيع.

أنشئ حساب التطبيق

  1. أنشئ حساب Hive لتطبيقك، على سبيل المثال على https://ecency.com/signup. استخدم حسابًا منفصلًا للتطبيق، لا حسابك الشخصي. اسمه هو client_id الخاص بك. ويراه المستخدمون على شاشة الموافقة بجانب "حساب Hive". ولا يمكن إعادة تسمية حساب Hive، فاختر الاسم بعناية.
  2. أضف الحساب إلى Hivesigner على https://hivesigner.com/import (إضافة حساب). استخدم المفتاح النشط أو كلمة المرور الرئيسية: فالتفويض الوارد أدناه يحتاج المفتاح النشط.

املأ إعدادات التطبيق

افتح https://hivesigner.com/profile مع تحديد حساب التطبيق واضبط:

  • هذا الحساب تطبيق. فعّل هذا الخيار. فهو يعلّم الحساب كتطبيق، وهو ما تتحقق منه الواجهة قبل قبول كود أو رمز تجديد له.
  • عناوين URI لإعادة التوجيه. عناوين الاستدعاء الخاصة بك، واحد في كل سطر. راجع عناوين الاستدعاء.
  • المنشئ. من يتولى صيانة التطبيق. ويعرضه دليل التطبيقات على https://hivesigner.com/apps.
  • الحالة. إنتاج أو اختبار، لسجلاتك أنت. ويعامل Hivesigner الاثنين بالطريقة نفسها.
  • المفتاح السري للعميل. لا يلزم إلا للتدفق بالكود. راجع المفتاح السري للعميل.

املأ أيضًا الاسم ورابط URL لصورة الملف الشخصي. تعرض شاشة الموافقة صورة تطبيقك واسمه. ويعرض دليل التطبيقات على https://hivesigner.com/apps الاسم ونبذة والموقع الإلكتروني.

يحدّث الحفظ الملف الشخصي للحساب على السلسلة ويحتاج مفتاح النشر الخاص به. ويقرأ Hivesigner عناوين الاستدعاء من الحساب عند فتح طلب تسجيل الدخول، فيسري أي تغيير بمجرد أن تدخل المعاملة في كتلة.

ملاحظة: الاسم والصورة والوصف ينشرها حساب تطبيقك نفسه. لذلك تعرض شاشة الموافقة أيضًا اسم الحساب الحقيقي (@myapp) والمضيف الذي ترسل المستخدم إليه: فهذان هما ما يستخدمه التفويض وإعادة التوجيه فعليًا.

عناوين الاستدعاء

عنوان الاستدعاء (redirect_uri في طلب تسجيل الدخول) هو المكان الذي يعيد Hivesigner المستخدم إليه ومعه رمز أو كود. ولا يرسله Hivesigner إلا إلى عنوان استدعاء مدرج في حساب تطبيقك.

القواعد

  • تطابق تام. يجب أن يكون redirect_uri في الطلب واحدًا من عناوين URI لإعادة التوجيه لديك، حرفًا بحرف: المخطط والمضيف والمنفذ والمسار والاستعلام.
  • https فقط. يجب أن يستخدم عنوان الاستدعاء https://. ولا يُقبل http:// العادي إلا على العنوان المحلي: localhost أو 127.0.0.1 أو [::1].
  • منافذ العنوان المحلي قد تتغير. عنوان استدعاء محلي مسجَّل بـ http العادي يطابق أي مضيف ومنفذ محليين بالمسار والاستعلام والجزء ومعلومات المستخدم نفسها. أما عنوان استدعاء محلي مسجَّل بـ https:// فيبقى تطابقًا تامًا.
  • لا مخططات خاصة. يُرفض عنوان استدعاء مثل myapp://callback. راجع تطبيقات الجوال وسطح المكتب.
  • لا أجزاء. لا تضف #fragment إلى عنوان استدعاء.

ترفض صفحة الملف الشخصي حفظ عنوان استدعاء لا يمكن أن يعمل أبدًا، وتقول "عناوين غير صالحة لإعادة الاستدعاء (المسموح: https، أو http على localhost)".

أمثلة

مع تسجيل عناوين URI لإعادة التوجيه هذه:

https://myapp.example/auth/callback
http://localhost:3000/auth
redirect_uri في الطلب النتيجة
https://myapp.example/auth/callback مقبول: تطابق تام
https://myapp.example/auth/callback/ مرفوض: / زائدة
https://myapp.example/auth/callback?next=home مرفوض: الاستعلام مختلف
https://www.myapp.example/auth/callback مرفوض: مضيف آخر
http://myapp.example/auth/callback مرفوض: http عادي خارج العنوان المحلي
http://localhost:3000/auth مقبول: تطابق تام
http://127.0.0.1:51234/auth مقبول: عنوان محلي، المسار نفسه، منفذ آخر
http://[::1]:3000/auth مقبول: عنوان محلي، المسار نفسه
http://127.0.0.1:3000/other مرفوض: مسار آخر
https://localhost:3000/auth مرفوض: https لا يطابق تسجيلًا بـ http العادي
myapp://auth مرفوض: مخطط خاص

لقبول استعلام على عنوان الاستدعاء الخاص بك، سجّل العنوان بذلك الاستعلام بعينه. ويحتفظ Hivesigner باستعلام عنوانك ويضيف معاملاته بعده.

تطبيقات الجوال وسطح المكتب

يضع Hivesigner الرمز في عنوان الاستدعاء. والمخطط الخاص مثل myapp:// ليس مرتبطًا بتطبيق واحد: إذ يمكن لتطبيق آخر على الجهاز نفسه أن يطالب به ويستلم الرمز. لذلك يرفض Hivesigner المخططات الخاصة ولا يرسل الرموز إلا إلى عنوان https أو إلى العنوان المحلي على جهاز المستخدم نفسه.

يستخدم التطبيق الأصلي إحدى هاتين الطريقتين:

  • رابط https يملكه. سجّل عنوان استدعاء على نطاقك يفتحه نظام التشغيل داخل تطبيقك (App Links على Android أو Universal Links على iOS).
  • عنوان استدعاء محلي. ينصت التطبيق على 127.0.0.1 لإعادة التوجيه. سجّل http://127.0.0.1/auth (أو localhost) واستخدم أي منفذ متاح وقت التشغيل: لا يلزم أن يتطابق المنفذ.

المفتاح السري للعميل

يثبت المفتاح السري للعميل أن تبادل الكود يأتي من خادمك. وهو مطلوب للتدفق بالكود: يرسله خادمك مع كل كود أو رمز تجديد إلى /api/oauth2/token. ولا يستخدمه التدفق بالرمز.

  • ولّد قيمة عشوائية طويلة، على سبيل المثال باستخدام openssl rand -hex 32.
  • اضبطه في صفحة الملف الشخصي. يخزّن Hivesigner بصمته sha256 فقط، داخل الملف الشخصي لحساب تطبيقك. وترك الحقل فارغًا يبقي المفتاح الحالي.
  • احتفظ به على خادمك. لا تضعه أبدًا في صفحة ويب أو تطبيق جوال أو عنوان URL.
  • لتغييره، اضبط مفتاحًا جديدًا وحدّث خادمك في الوقت نفسه.

امنح @hivesigner صلاحية النشر

تبثّ الواجهة بمفتاح النشر الخاص بحساب @hivesigner. ولا تقبل Hive ذلك التوقيع لمستخدميك إلا إذا أضاف حساب تطبيقك @hivesigner إلى صلاحية النشر الخاصة به. راجع سلسلة صلاحية النشر.

  1. حدّد حساب تطبيقك في Hivesigner.
  2. افتح https://hivesigner.com/authorize/hivesigner.
  3. تقول الصفحة "تخويل @hivesigner" و"سيتمكّن @hivesigner من النشر والتعليق والتصويت والمتابعة باسم @myapp.". اختر تخويل. ويحتاج هذا المفتاح النشط لحساب التطبيق.

تفعل هذا مرة واحدة. وبدونه يفشل كل بثّ بالخطأ unauthorized_client والرسالة "Broadcaster account doesn't have permission to broadcast for @myapp". والتطبيق الذي يسجّل الدخول فقط لا يحتاج إليه.

يتيح هذا التفويض أيضًا لـ @hivesigner النشر باسم حساب تطبيقك نفسه، وهو سبب إضافي لتخصيص حساب التطبيق للتطبيق وحده.

التطبيقات التي تبثّ عبر Hivesigner مع وجود هذا التفويض يمكن أن تظهر في دليل التطبيقات على https://hivesigner.com/apps، مرتّبة بحسب عدد مستخدميها.

ما يراه المستخدمون عندما يحدث خلل

يرفض Hivesigner أي طلب لا يستطيع تلبيته بأمان. فيعرض رسالة وزرّ الإبلاغ عن هذه المشكلة. ولا يمكن الموافقة على الطلب. ولا يُرسل شيء إلى عنوان الاستدعاء الخاص بك.

المشكلة ما يقرأه المستخدم
redirect_uri ليس واحدًا من عناوين URI لإعادة التوجيه لديك "عنوان URL لإعادة التوجيه الخاص بهذا التطبيق غير مسجَّل. حفاظًا على أمانك، تم حظر تسجيل الدخول."
client_id ليس حسابًا على Hive "@myapp ليس حسابًا على Hive، لذا لا يوجد تطبيق لتخويله. ارجع إلى الموقع وحاول مرة أخرى."
الحساب غير معلَّم كتطبيق "@myapp غير مُهيأ كتطبيق، لذا لا يمكنه تسجيل دخولك. عد إلى الموقع وحاول مرة أخرى." فعّل هذا الحساب تطبيق، كما ورد أعلاه.
لا يوجد redirect_uri في الطلب "طلب التخويل هذا غير مكتمل: ينقصه اسم التطبيق أو عنوان URL لإعادة التوجيه. ارجع إلى التطبيق وحاول مرة أخرى."

إذا أبلغك مستخدموك بإحدى هذه الحالات، فقارن redirect_uri الذي يرسله تطبيقك بعناوين URI لإعادة التوجيه لديك، حرفًا بحرف.

قائمة التحقق

  1. حساب Hive للتطبيق، مضاف إلى Hivesigner بمفتاحه النشط.
  2. على https://hivesigner.com/profile: تفعيل "هذا الحساب تطبيق"، وإدراج عناوين URI لإعادة التوجيه، وضبط مفتاح سري للعميل إذا كنت تستخدم التدفق بالكود.
  3. تخويل @hivesigner على https://hivesigner.com/authorize/hivesigner، إذا كنت تبثّ عبر الواجهة.
  4. رابط تسجيل دخول يرسل أحد عناوين URI لإعادة التوجيه لديك تمامًا. راجع تسجيل الدخول باستخدام OAuth2.