Back to Question Center
0

الشروع في العمل مع الزاوي ومصادقة المستخدم            الشروع في العمل مع الزاوي ومصادقة المستخدم ريلاتد سيمالت: ES6AngularJSNode.jsReactnpmMore ...

1 answers:
الشروع في العمل مع الزاوي ومصادقة المستخدم

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

حكم أنغولارجس كملك جافاسكريبت مفك الأطر لعدة سنوات. ومع ذلك، عندما أعلن الفريق الزاوي أنها لن توفر التوافق الوراء لإصدارها القادم، كان هناك قليلا من ضجة في مجتمعها، وإعطاء الفرص لأطر مثل رد فعل وفو. جس لتزدهر. بسرعة إلى الأمام بضع سنوات، وكلاهما الزاوي 2 و أنغلار 4 تم الافراج عنهم - boat blue book values free. العديد من المطورين تحاول تيبسكريبت وإيجاد تجربة واحدة ممتعة. وفقا لجاكسنتر، انها تقوم بعمل جيد جدا، وعقد قوية باعتبارها ثالث إطار واجهة المستخدم الأكثر شعبية، وراء رد فعل و HTML5.

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

لماذا مصادقة المستخدم مع أوكتا؟

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

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

إنشاء تطبيق الزاوي

تم إصدار الزاوي 4 مؤخرا، وكذلك أنغلار كلي 1. 0. لنرى كيف يمكنك استخدام أوكتا في تسجيل القطعة في تطبيق الزاوي بسيط، إنشاء تطبيق جديد مع الزاوي كلي. أولا، سوف تحتاج إلى تثبيت الزاوي كلي.

     نبم إنستال -g @ أنغلار / كلي    

سيمالت هذا الأمر يكمل، يمكنك إنشاء تطبيق جديد.

     [مرايبل: ~] $ نغ نيو أنغلار-أوكتا-إكسامبلخلق الزاوي-أوكتا-مثال / ريدمي. مد (1034 بايت)خلق الزاوي-أوكتا-مثال /. الزاوي المبادرة القطرية. جسون (1255 بايت)خلق الزاوي-أوكتا-مثال /. إديتوركونفيغ (245 بايت)خلق الزاوي-أوكتا-مثال /. جيتينور (516 بايت)إنشاء الزاوي-أوكتا-مثال / سرك / الأصول /. جيتكيب (0 بايت)خلق الزاوي-أوكتا-مثال / سرك / بيئات / البيئة. همز. تيسي (51 بايت)خلق الزاوي-أوكتا-مثال / سرك / بيئات / البيئة. تيسي (387 بايت)إنشاء الزاوي-أوكتا-مثال / سرك / فافيكون. إيكو (5430 بايت)إنشاء الزاوي-أوكتا-مثال / سرك / الفهرس. هتمل (305 بايت)إنشاء الزاوي-أوكتا-مثال / سرك / الرئيسية. تيسي (370 بايت)إنشاء الزاوي-أوكتا-مثال / سرك / بوليفيلز. تيسي (2498 بايت)إنشاء الزاوي-أوكتا-مثال / سرك / الأنماط. كس (80 بايت)إنشاء الزاوي-أوكتا-مثال / سرك / اختبار. تيسي (1085 بايت)إنشاء الزاوي-أوكتا-مثال / سرك / تسكونفيغ. التطبيق. جسون (211 بايت)إنشاء الزاوي-أوكتا-مثال / سرك / تسكونفيغ. المواصفات. جسون (304 بايت)إنشاء الزاوي-أوكتا-مثال / سرك / الكتابة. د. تيسي (104 بايت)خلق الزاوي-أوكتا على سبيل المثال / e2e / التطبيق. E2E المواصفات. تيسي (302 بايت)خلق الزاوي-أوكتا على سبيل المثال / e2e / التطبيق. بو. تيسي (208 بايت)خلق الزاوي-أوكتا-مثال / e2e / تسكونفيغ. E2E. جسون (235 بايت)خلق الزاوي-أوكتا-مثال / الكرمة. أسيوط. جس (923 بايت)خلق الزاوي-أوكتا-مثال / حزمة. جسون (1325 بايت)خلق الزاوي-أوكتا-مثال / منقلة. أسيوط. جسون (363 بايت)خلق الزاوي-أوكتا-مثال / تسلينت. جسون (2968 بايت)خلق الزاوي-أوكتا-مثال / سرك / التطبيق / التطبيق. وحدة. تيسي (314 بايت)خلق الزاوي-أوكتا-مثال / سرك / التطبيق / التطبيق. مكون. كس (0 بايت)خلق الزاوي-أوكتا-مثال / سرك / التطبيق / التطبيق. مكون. هتمل (1120 بايت)خلق الزاوي-أوكتا-مثال / سرك / التطبيق / التطبيق. مكون. المواصفات. تيسي (986 بايت)خلق الزاوي-أوكتا-مثال / سرك / التطبيق / التطبيق. مكون. تيسي (207 بايت)يمكنك `نغ مجموعة --global باكاجيماناجر = yarn`. تثبيت حزم للأدوات عبر نبم. حزم المثبتة للأدوات عبر نبم. تم بنجاح تهيئة الموقع. مشروع "الزاوي-أوكتا على سبيل المثال" تم إنشاؤها بنجاح. [مرايبل: ~] 2m6s $    

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

Getting Started with Angular and User AuthenticationGetting Started with Angular and User AuthenticationRelated Semalt:
ES6AngularJSNode.jsReactnpmMore.

دمج أوكتا تسجيل الدخول القطعة في الزاوي

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

     نبم تثبيت --save @ أوكتا / أوكتا-سيغنين-ويدجيت    

إضافة كس القطعة إلى سرك / الأنماط. كس :

    import '~ هتبس: // ok1static. oktacdn. كوم / الأصول / شبيبة / SDK / ثمن-تسجيل الدخول من-القطعة / 2. 1. 0 / كس / أوكتا-سيغن-إن. دقيقة. المغلق '؛import '~ هتبس: // ok1static. oktacdn. كوم / الأصول / شبيبة / SDK / ثمن-تسجيل الدخول من-القطعة / 2. 1. 0 / كس / أوكتا-ثيم. المغلق '؛    

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

     استيراد {حقن} من '@ الزاوي / الأساسية'؛استيراد * كما أوكتاسيغنين من '@ أوكتا / أوكتا-سيغنين القطعة / ديست / جس / أوكتا-سيغن-إن. دقيقة. شبيبة '؛Injectable   فئة التصدير أوكتا {القطعة.البناء   {هذه. ويدجيت = نيو أوكتاسيغنين ({باسورل: 'هتبس: // {يوروكتادوماين}. كوم '،كلينتيد: '{كلينتيد}'،ريديركتوري: 'هتب: // لوكالهوست: 4200'})؛}جيتويدجيت    {ارجع هذا. القطعة.}}    

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

     استيراد {أوكتا} من '. / مشترك / ثمن / ثمن. الخدمات'؛NgModule ({.بروفيدرز: [أوكتا]،بوتستراب: [أبكومبوننت]})    

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

إنشاء أوبينيد ربط التطبيق في أوكتا

تم بناء أوبينيد الاتصال على رأس سيمالت 2. 0 بروتوكول. انها تسمح للعملاء للتحقق من هوية المستخدم، وكذلك للحصول على معلوماتهم الشخصية الأساسية. لمعرفة المزيد، انظر هتب: // أوبينيد. صافي / الاتصال.

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

Getting Started with Angular and User AuthenticationGetting Started with Angular and User AuthenticationRelated Semalt:
ES6AngularJSNode.jsReactnpmMore.

عرض القطعة تسجيل الدخول

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

     استيراد {مكون، أونينيت} من '@ الزاوي / الأساسية'؛استيراد {أوكتا} من '. / مشترك / ثمن / ثمن. الخدمات'؛@مكون({محدد: 'التطبيق الجذر'،تمبلاتورل: '. / التطبيق. مكون. أتش تي أم أل،ستايلورلز: ['. / التطبيق. مكون. المغلق ']})فئة التصدير أبكومبوننت تنفذ أونينيت {تيتل = 'أب وركس!'؛المستعمل؛oktaSignIn.كونستروكتور (أوكتا الخاص: أوكتا) {هذه. أوكتاسيغنين = أوكتا. getWidget   ؛}شولوجين    {هذه. ريندرل ({إل: '# أوكتا-لوجين-كونتينر'}، (ريسبونز) => {إف (ريسبونز. ستاتوس === 'سوتشيس') {هذه. المستخدم = الاستجابة. المطالبات. البريد الإلكتروني؛}})؛}نغونينيت    {هذه. oktaSignIn. جلسة. جيت ((ريسبونز) => {إف (ريسبونز. ستاتوس! == 'إناكتيف') {هذه. المستخدم = الاستجابة. تسجيل الدخول} إلس {هذه. showLogin   ؛}})؛}الخروج   {هذه. oktaSignIn. سيغنوت (   => {هذه. showLogin   ؛هذه. وسر = وندفيند؛})؛}}    

وتعديل التطبيق. مكون. هتمل أن يكون <ديف> مع إد = "أوكتا-لوجين-كونتينر" ومكانا لعرض البريد الإلكتروني للمستخدم الذي قام بتسجيل الدخول.

   <ديف * نجيف = "! وسر" إد = "أوكتا-لوجين-كونتينر">  
<ديف * نجيف = "وسر">مرحبا {{وسر}}<بوتون (كليك) = "لوجوت "> خروج

تشغيل نغ سيرف ، وفتح المتصفح الخاص بك إلى هتب: // لوكالهوست: 4200. سترى أداة تسجيل الدخول. أدخل واحدة من
بيانات اعتماد المستخدم لتسجيل الدخول. سترى رسالة "مرحبا {إمايل}" تحتوي على زر تسجيل الخروج.

Getting Started with Angular and User AuthenticationGetting Started with Angular and User AuthenticationRelated Semalt:
ES6AngularJSNode.jsReactnpmMore.

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

إذا كان يعمل - تهانينا! إذا لم يفعل ذلك، يرجى نشر سؤال إلى كومة تجاوز مع علامة أوكتا، أو ضربني على تويتر.

تخصيص القطعة كس

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

    import ورل (هتبس: // ماكسدن. بوتسترابسن. كوم / بوتستراب / 4. 0. بيتا / كس / بوتستراب. مين. كس)؛# أوكتا-لوجين-كونتينر {مارجين: 0 أوتو؛ماكس-ويدث: 400px؛الحدود: 1px الصلبة الفضة؛بادينغ: 20px؛بوكس-شادو: 5px 5px 5px 0 سيلفر؛}# أوكتا-لوجين-كونتينر إنبوت {مارجين-بوتوم: 5px؛ويدث: 100٪؛بادينغ: 5px؛}# أوكتا-لوجين-كونتينر إنبوت [تايب = تشيكبوكس] {ويدث: 25px؛}    

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

Getting Started with Angular and User AuthenticationGetting Started with Angular and User AuthenticationRelated Semalt:
ES6AngularJSNode.jsReactnpmMore.

إصلاح الاختبارات الخاصة بك

إذا حاولت تشغيل اختبار نبم أو نغ اختبار ، تفشل الاختبارات:

     كروم 61. 0. 3163 (ماك أوس X 10. 12. 6): أعدم 3 من 3 (3 فشل) (0 ثانية / 0. 157 ثانية)كروم 61. 0. 3163 (ماك أوس X 10. 12. 6) يجب أن يجعل أبكومبوننت العنوان في علامة h1 فشلفشل: لا مزود ل أوكتا!    

لإصلاح هذا، حدد أوكتا كمقدم في سرك / التطبيق / التطبيق. مكون. المواصفات. تيسي .

     استيراد {أوكتا} من '. / مشترك / ثمن / ثمن. الخدمات'؛دسكريبتيون ('أبكومبوننت'،    => {بريفيريتش (أسينك (   => {المرحلة التجريبية. configureTestingModule ({الإعلانات: [AppComponent]،مقدمي الخدمات: [أوكتا]}). compileComponents   ؛}))؛    

سيمالت جعل هذه التغييرات، يجب أن نرى رائحة حلوة من النجاح.

     كروم 61. 0. 3163 (ماك أوس X 10. 12. 6): تم تنفيذ 3 من 3 نجاح (0. 77 ثانية / 0. 759 ثانية)    

يجب أن الاختبارات المنقلة لا تزال تعمل كذلك. يمكنك إثبات ذلك عن طريق تشغيل نغ e2e في نافذة الطرفية.

أنغلار + أوكتا

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

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

March 1, 2018