أجهزة الكمبيوتر شبابيك إنترنت

1c إذن عند مدخل تطبيق الهاتف المحمول. استدعاء عملية خادم الويب

، PHP ، أنظمة المراسلة

يسعدنا أن نقدم الخدمة للمجتمع PushAuthالتي تتيح لعملائك تسجيل الدخول باستخدام رسائل PUSH على أجهزتهم المحمولة!



هذه الفكرة ليست جديدة والعديد من الشركات تستخدم هذه التكنولوجيا بالفعل في تطبيقاتها. يبدو كل شيء بسيطًا بما يكفي حتى تفكر في المشكلات: الأمان وإدارة الجهاز والعميل والتوافق والعمل المريح.

كيف خطرت لك الفكرة؟

نحن نستخدم الكثير من الخدمات: البريد الإلكتروني ، والشبكات الاجتماعية ، وأنظمة إدارة علاقات العملاء ، وأنظمة التحكم في الوصول ، وبنوك العملاء ، وما إلى ذلك. لكل من الخدمات ، كما هو صحيح ، للوصول ، يجب عليك استخدامها تسجيل الدخول (البريد الإلكترونيو كلمه السر... يمكننا بالفعل أن نستنتج ما يلي:

  1. جميعنا تقريبًا لديه عنوان بريد إلكتروني.
  2. في معظم الحالات ، تكون كلمات المرور هي نفسها في كل مكان. (سنفترض أننا لا نستخدم خدمات الطرف الثالث مثل كلمة المرور 1 وغيرها)

بناء على نقطتين أردت:

  1. استخدم هذا البريد الإلكتروني للحصول على إذن.
  2. لا تستخدم كلمات المرور على الإطلاق.

ماذا جاء من هذا؟

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

ما هي أنواع التفويض؟

يوجد حاليًا نوعان رئيسيان من طلبات الترخيص المتاحة:

  1. دفع السؤالللحصول على إذن ، حيث يحتاج العميل إلى تقديم إجابة: نعم أو لا. لهذه الطريقة ، الخدمة متاحة التوجيه، حول الذي أدناه بقليل.
  2. كود الدفع الآمنالتي يرسلها صاحب الخدمة بنفسه تطبيق جوالالعميل الذي يستخدم خدمة PushAuth.
  3. إذن QR، والذي يسمح لك بمسح الرمز باستخدام تطبيق الهاتف المحمول الخاص بالعميل وتمرير الإذن. هذه الطريقةبالفعل في مرحلة الاختبار المغلق مع تطبيقات الهاتف المحمول وسيصبح متاحًا أيضًا في المستقبل القريب.

تطبيقات الهاتف الجوال

  • نستخدم FireBase Cloud Messaging لتقديم رسائل PUSH على Android و iOS. يتم توقيع جميع البيانات المنقولة من تطبيق الهاتف المحمول إلى خادم PushAuth باستخدام مفاتيح HMAC SHA-256 الشخصية الخاصة.
  • بالإضافة إلى ذلك ، فإن تطبيق الهاتف المحمول محمي برمز PIN (كلمة مرور TouchID) ، مما يزيد من مستوى الأمان ضد الوصول غير المصرح به.
  • نخطط لتطوير حزمة SDK تتيح لك استخدام وظائف واجهة برمجة التطبيقات في تطبيقات الهاتف المحمول الخاصة بك.
  • يمكن للعملاء الحصول على 10 أجهزة في وقت واحد ، والتي يمكن استقبال طلبات الدفع عليها. الرد على أحد الأجهزة ، على الأجهزة الأخرى ، يتم تجاهل الردود على Push. نخطط لإخفاء رسائل Push على الأجهزة الأخرى عند الرد على أحدها.


دفع السؤال



كود الدفع الآمن


التطبيقات متاحة بالفعل:

الخلفية


لأصحاب الخدمة ، تتوفر إحصاءات مفصلة عن حالات التفويض لعملائهم. يمكنك إنشاء تطبيق منفصل لكل خدمة ومراقبة استخدامها. بالإضافة إلى ذلك ، يمكنك تكوين Web Hooks التي سترسل بيانات التفويض:

  • رموز QR
  • طلبات الدفع
  • انتهى وقت استجابات العملاء

أين يمكنك استخدامه؟

CRM

لنبدأ رحلة خيالنا مع خدمات تكنولوجيا المعلومات ، على سبيل المثال ، نفس أنظمة إدارة علاقات العملاء ، حيث توجد حاجة لتأكيد عمل الموظف. على سبيل المثال ، بفضل الخدمة التوجيه، من الممكن إجراؤه بحيث للتوقيع على المستند ، يلزم تأكيد الإدارة. وهكذا تبدو الصورة كاملة كما يلي:

  1. يبدأ الموظف إجراءً ويتلقى طلب دفع ويستجيب نعم.
  2. يتلقى رئيسه المباشر طلب PUSH ويستجيب نعم.
  3. يتلقى القائد الأعلى طلب دفع ويستجيب نعم.
  4. ستكون نتيجة جميع الإجراءات نعم

إذا أجاب شخص ما في مرحلة ما لا، فلن يتلقى رابط المنبع التالي طلب PUSH وستكون النتيجة الإجمالية للطلبات هي الاستجابة لا


أعلاه وصفنا تشغيل الخدمة التوجيهمع الأولوية. لكن يمكن استخدام هذه الخدمة دون أولوية. هذا يعني أن جميع الروابط في السلسلة (الموظفون) ستتلقى طلب PUSH في نفس الوقت. وفقط إذا أجاب كل منهم بشكل إيجابي ، عندها فقط ستكون نتيجة الاستعلام الإجمالية إيجابية.

موقع الكتروني

يمكن للترخيص ثنائي أو عامل واحد بسيط على الموقع تبسيط أو تأمين الوصول إلى الموارد الداخلية. على سبيل المثال ، للوصول إلى لوحة الويب الخاصة بمسؤول WordPress ، عندما تمنح حق الوصول إلى المقاول / المطور الخاص بك وتريد التحكم فيه بشكل صارم عن طريق طلبات الترخيص الفوري.

نظام التشغيل

هل تستخدم وصول SSH / telnet؟ أو هل ترغب في الحصول على طلب تفويض عند فتح غطاء الكمبيوتر المحمول الخاص بك؟ ثم ستكون هذه الخدمة مثالية.

الهندسة والمعدات

يمكنك أيضًا تنفيذ الوصول إلى المرافق (آمنة ، مصعد ، باب دوار ، إنذار) على نطاق صناعي باستخدام تطبيق الهاتف المحمول.

حماية


هذا هو السؤال الأهم في هذه الخدمة. يجدر الانتباه إلى أشياء مثل تبادل البيانات بين خدمة المستخدم<-->خادم PushAuth<-->تطبيق العميل.
يتم نقل جميع البيانات عبر HTTPS (TLS) ، مع توقيع HMAC ، وخوارزمية SHA-256. لكل عميل ومستخدم للخدمة زوج من المفاتيح العامة والخاصة الخاصة به. المفتاح العام في حالتنا ضروري لتحديد الهوية في تخزين الشبكة المشتركة ويمكن نقله بنص واضح. يتم إرسال المفتاح الخاص بطريقة آمنة. في حالة تطبيق الهاتف المحمول ، يتم إرسال جميع المفاتيح فقط عبر APN / GCM. وبالتالي ، فإننا نقدم حماية إضافية على مستوى الشهادات الخاصة بهذه الخدمات.

عاجلاً أم آجلاً ، يرغب مطور تطبيقات الهاتف المحمول في تمييز كل مستخدم بطريقة أو بأخرى - إنشاء ملف تعريف شخصي له ، ومنحه الفرصة لنقل التطبيق إلى هاتف جديددون فقد المحتوى أو ببساطة إرسال إعلانات مخصصة.

مقدمة

أساس أي تخصيص هو حسابه الخاص لكل مستخدم. لكن الشخص مرتب لدرجة أن قلة من الناس يرغبون في إضاعة الوقت في التسجيل الممل - يمتلك المستخدمون بالفعل Instagram و Twitter و Facebook ، وقد لا تكون هناك مساحة كافية في رؤوسهم لحسابات جديدة. ليست هناك حاجة للذهاب بعيدًا للحصول على مثال - انظر إلى قلبك :). تخيل أنك مستخدم - لأحدكم تطبيقات جوجلهناك العشرات من التطبيقات المفيدة ، ولكن ربما لا ترغب في التسجيل في كل منها.

هذه هي الطريقة التي ظهرت بها تقنية OAuth - آلية لتفويض مستخدم على موارد جهة خارجية باستخدام جهة خارجية موثوق بها. أصبحت هذه الخدمة شائعة للغاية: تتيح الآن Instagram و Facebook والعديد من المشاريع الكبيرة الأخرى لمستخدميها تسجيل الدخول بسرعة إلى مورد تابع لجهة خارجية. انضم إليكم أيضًا: حتى في مشروع صغير اليوم ، من المنطقي تنفيذ OAuth - لقد اعتاد المستخدمون بالفعل على هذه الآلية.

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

لاحظ أن بروتوكول OAuth دخل أجهزة محمولةمن الويب ، لذلك حتى لو كنت بعيدًا عن Java و Android ، فإن المعلومات حول كيفية عمل آلية الترخيص هذه قد تظل مفيدة لك.

جهاز OAuth

مع ظهور تقنية OAuth ، تغيرت خوارزمية التسجيل لمورد جديد للمستخدم بشكل كبير. الآن لا تحتاج إلى حفظ بيانات الاعتماد التالية ، ولكن يمكنك الدخول إلى الموقع ببضع نقرات باستخدام ملف الحسابإحدى الشبكات الاجتماعية.

دعنا نتخيل تطبيقًا صغيرًا يسمى App ، حيث يريد المستخدم حقًا إنشاء حساب. ليس لديه رغبة في ابتكار اسم مستخدم وكلمة مرور جديدين ، ولكن هناك صفحة معينة شبكة اجتماعيةلذلك قرر تسجيل الدخول إلى التطبيق بحسابه من خلال النقر على الرمز المألوف. يبدأ هذا في عملية التفويض ، التي يشارك فيها بشكل مفاجئ العديد من الأطراف ، على الرغم من أن كل شيء يحدث ظاهريًا كما لو كان داخل التطبيق. يمكن تقسيم العملية برمتها إلى ست خطوات.

هذه هي الطريقة التي يعمل بها. المخطط مبسط إلى حد ما ، وأود أن ألفت انتباهكم إلى الميزة الأساسية لـ OAuth: هذه التقنية لا يصادقالمستعمل. OAuth ليست مسؤولة عن صحة زوج "تسجيل الدخول - كلمة المرور" ، وأكثر من ذلك عن حقيقة أن هذه البيانات يتم إدخالها بواسطة المستخدم! تتضمن العملية برمتها إذن فقط- أي أن التطبيق مُنح الحق في تنفيذ الإجراءات باستخدام بيانات المستخدم المخزنة على خادم جهة خارجية.

في الوقت نفسه ، توجد المصادقة أيضًا هنا وتحدث في المراحل 1-3 ، ولكنها تستمر بشكل غير مرئي لنا باستخدام بروتوكول OpenID المدمج في OAuth. ينفذ هذا البروتوكول القليل من سحر التشفير ، وسيتطلب وصفه العديد من هذه المقالات ، لذلك لن نتطرق إليه اليوم.

تطبيق

انتهى الجزء النظري ، فلنبدأ بيئة تطوير أندرويد... أصبح OAuth الآن شائعًا للغاية ، حيث يسرد موقع المشروع على الويب أكثر من عشرة مشاريع كبيرة تدعم هذه التقنية. كما قد تكون خمنت ، فإن المبدأ العام للعملية هو نفسه في كل حالة ، تختلف فقط أسماء الفئات وعناوين مراكز إصدار الشهادات.

الاستمرارية متاحة فقط للمشاركين

الخيار 1. انضم إلى مجتمع "الموقع" لقراءة جميع المواد الموجودة على الموقع

ستتيح لك العضوية في المجتمع خلال الفترة المحددة الوصول إلى جميع مواد Hacker ، وزيادة الخصم التراكمي الشخصي الخاص بك والسماح لك بتجميع نقاط Xakep احترافية!

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

كما هو الحال في الجنس: في وقت لاحق ، كان ذلك أفضل

هل تجبر المستخدم على تسجيل الدخول أو التسجيل في تطبيقك مباشرة بعد تنزيله وفتحه لأول مرة؟ هذا يعني أنك تزيد من فرص التطبيق الفوري في السلة. هذا ما تؤكده الإحصائيات ، لذا نصيحتنا الأولى: ضع التفويض حتى اللحظة التي تكون فيها هناك حاجة فعلية إليه. يمكن أن يكون هذا تقديم طلب أو إنشاء تعليق. ...

الطرق الرئيسية للدخول إلى التطبيق ، والتي يتم استخدامها على نطاق واسع اليوم ، هي تسجيل الدخول + كلمة المرور ، والشبكات الاجتماعية ، والهاتف + رمز من الرسائل القصيرة. دعونا نفحص بمزيد من التفصيل أول هذه الأساليب.

تسجيل الدخول + كلمة المرور

إذا كان على المستخدم إدخال بيانات شخصية ، فإن مهمتنا هي تسهيل هذه العملية عليه.

تلميحات مجال الإدخال

في أشكال بسيطة ، على سبيل المثال ، إذا استخدمنا الإدخال المعتاد لتسجيل الدخول وكلمة المرور ، فيمكننا وضع أسماء الحقول في عناصر نائبة ، وهذا واضح تمامًا للمستخدم. في شكل أكثر تعقيدًا ، حيث توجد قيود على إدخال البيانات ، يتعين علينا استخدام الملصقات والعناصر النائبة ، على سبيل المثال ، شرح طول كلمة المرور. من الأفضل وضع الملصقات والعناصر النائبة فوق حقل الإدخال ، لذلك يكون من الواضح للمستخدم في أي وقت ما الذي يملأه وكيف ينبغي القيام به.

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

مقالتان جيدتان حول الموضوع: العناصر النائبة في حقول النموذج ضارة ، وإمكانية استخدام النموذج المحمول: لا تستخدم الملصقات المضمنة مطلقًا.

الإكمال التلقائي

استكمال المجالات الشعبية. تعمل مكتبة iOS في HotelTonight على تسريع إدخال البريد الإلكتروني بناءً على مجالات البريد الإلكتروني الشائعة. على Android ، يمكنك فعل الشيء نفسه يدويًا. كل هذا يسرع دخول البريد الإلكتروني.

استكمال مجالات البريد الشعبية

الإكمال التلقائي للبريد الإلكتروني لحسابات Google. يمكن لتطبيق Android الحصول على قائمة بحسابات Google على الجهاز وتقديم الإكمال التلقائي للمستخدم. هذا ما يفعله Evernote و Instagram ، على سبيل المثال. يمكنك التصرف بشكل مختلف: املأ حقل الإدخال تلقائيًا بواحد من عناوين البريد الإلكتروني... نظرًا لأن معظم المستخدمين لديهم حساب Google واحد ، فمن المحتمل أن نخمن بشكل صحيح. هذا ما يفعله Facebook و Twitter. لا يمنح iOS إمكانية الوصول إلى البريد الإلكتروني للمستخدم ، لذلك لا يمكن إجراء هذا الإكمال التلقائي.

الإكمال التلقائي للبريد لحسابات Google في Evernote

اسم الإكمال التلقائي. على جانب الخادم أو في التطبيق ، يمكنك حفظ قاعدة الأسماء الشائعة وتقديم الإكمال التلقائي للمستخدم. مرة أخرى ، على Android ، يمكن لـ Google+ المساعدة. ولكن لا تزال هذه طريقة غامضة - فبعد كل شيء ، يستغرق إدخال الاسم بضع ثوانٍ ، وأي إكمال تلقائي يصرف انتباه المستخدم إلى حد ما.

الإكمال التلقائي لتسجيل الدخول المستخدم سابقًا أثناء التفويض. إذا لم يقم التطبيق بالتبديل بين الحسابات ، كما هو الحال في Twitter أو Gmail الرسمي ، فمن المفيد الإكمال التلقائي لرسائل البريد الإلكتروني / عمليات تسجيل الدخول المستخدمة مسبقًا عند تسجيل الدخول. على سبيل المثال ، يُظهر Instagram آخر تسجيل دخول تم استخدامه. ومع ذلك ، فإن هذه الطريقة ليست مناسبة للتطبيقات المالية ، لأن الأمان مهم فيها. إذا قام المستخدم بتسجيل الخروج من التطبيق ، فلا ينبغي لأحد أن يعرف طريقة تسجيل الدخول التي استخدمها.

الكشف التلقائي ♀ ♂. يمكن للتطبيقات تحديد الجنس بناءً على الاسم الذي تم إدخاله. تحتوي خدمة Genderize.io على قاعدة بيانات تضم أكثر من 200000 اسم و 79 دولة و 89 لغة. 100000 طلب في الشهر تكلف 9 دولارات. هناك SDK لكلا النظامين الأساسيين. على Android ، يمكنك محاولة الحصول على الجنس من حساب جوجل+. لسوء الحظ ، لا يتم لصقها دائمًا من قبل المستخدم ، وفي روسيا لا يتم استخدام G + بشكل عام.

يؤدي الإكمال التلقائي للعنوان إلى تسريع الإدخال في نماذج الخروج ، وأحيانًا يكون هذا الحقل موجودًا في نموذج التسجيل. هناك نظرة عامة جيدة على الخدمات التي تحل المشكلة.

كلمات السر

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

من المعتاد إخفاء كلمة المرور عند إدخالها بالنقاط. زر "إظهار كلمة المرور" مفيد - إنه مهم بشكل خاص على شاشة التسجيل ، ما لم نطلب من المستخدم إدخال كلمة المرور مرتين. يتم تنفيذ هذا بشكل مثير للاهتمام في متتبعات Runtastic الرياضية: يتم عرض كلمة المرور ، ويتم الضغط على زر "العين".

استعادة كلمة المرور ليست مهمة أساسية. ترسل معظم التطبيقات المهمة المستخدم إلى صفحة ويب للقيام بذلك. لا يجب أن يكون الاسترداد شاشة منفصلة تفتح في المتصفح ، بل يمكن تنفيذه على شاشة تسجيل الدخول باستخدام رسوم متحركة بسيطة. أمثلة رائعة: Airbnb و Tumblr و Runtastic.

Tumblr iOS Password Recovery

فحص الحقول ولوحة المفاتيح والعرض

من المهم التحقق من صحة ملء الحقول في التطبيق نفسه. يستغرق التحقق من جانب الخادم وقتًا ويزعج المستخدم. تنطبق هذه القاعدة أيضًا على التحقق من عمليات تسجيل الدخول / البريد الإلكتروني المتاحة ، والتي يجب أن تعمل بشكل سريع. الأمثلة الجيدة هي -ياندكس ميوزيك ، تويتر.

للجميع أنواع مختلفةالحقول ، من المهم استخدام أنواع لوحة المفاتيح المناسبة: iOS ، Android. إذا أدخل المستخدم بريدًا ، فيجب أن يكون هناك علامة @ على لوحة المفاتيح وأرقام لإدخال رقم وما إلى ذلك.

أنت تعلم أن لا أحد يقرأ العرض. أعتقد أن خانة الاختيار الخاصة باتفاقية معها زائدة عن الحاجة - فهي تصرف انتباه المستخدم عن المحتوى. يكفي وضع النص "بالتسجيل ، أنت توافق على سياسة الخصوصية وشروط الخدمة" ، مع إبراز الروابط المطلوبة.

اجتماعي الشبكة

هذه هي أبسط طريقة لتسجيل الدخول للمستخدم: فهو لا يحتاج إلى ملء معلومات تسجيل الدخول وكلمة المرور يدويًا. من المعقول فرز أزرار الوسائط الاجتماعية حسب معدل الاستخدام حسب النظام الأساسي والبلد. يعد Google+ أكثر ملاءمة لنظام Android ، فمعظم المستخدمين في روسيا لديهم VK ، وما إلى ذلك. هذا ما يفعله Foursquare على الأندرويد.

على الجانب التكنولوجي ، يمكنك استخدام مكتبات oAuth العالمية أو SDK للوسائط الاجتماعية الرسمية لتنفيذ تسجيل الدخول. تتمتع حزم SDK الرسمية بميزة مهمة: فهي تصرح عبر ملفات التطبيقات المثبتةإما من خلال حسابات المستخدمين في اعدادات النظام... إذا قام مستخدم بتسجيل الدخول من خلال شبكة اجتماعية ، فمن المرجح أن يكون لديه التطبيق المقابل مثبتًا.

كيف تعمل SDKs الرسمية

رقم الهاتف ورمز التحقق

في Android ، يمكنك إكمال رقم تلقائيًا من بطاقة SIM ، لكن هذا لا يعمل على جميع الأجهزة ، لذلك عليك أن تأخذ في الاعتبار في الرمز الأخطاء المحتملة... من الناحية العملية ، لم أجد تطبيقات تقوم بذلك ، لكن استخدام هذه الطريقة مقبول تمامًا.

بعد إدخال الرقم وإرساله ، يحتاج المستخدم إلى إدخال الرمز من الرسائل القصيرة. يمكن لتطبيق Android القيام بذلك تلقائيًا. يتم استخدام هذه التقنية بواسطة Viber و Telegram و Rocketbank. من المهم فقط أن توضح للمستخدم أن الرسائل القصيرة ستصل قريبًا ، ما عليك سوى الانتظار قليلاً.

أرقام النسيج.يحتوي Twitter على حل مجاني جاهز للحصول على إذن عبر رقم هاتف... إنها بوابة الرسائل القصيرة + الجوال والويب SDK. مظهر خارجييمكن تخصيص واجهة في إطار معين. هذا هو أبسط حل خارج الصندوق.

أرقام النسيج

استنتاج

حاولت هنا تحديد جميع الأفكار التي صاغتها مؤخرًا حول تسجيل الدخول إلى التطبيق والعمل مع النماذج. هذا المنشور هو نوع من قائمة التحقق ، وآمل أن يكون مفيدًا لك. إذا كان لديك أي أسئلة ، فاكتب: [البريد الإلكتروني محمي]