1
00:00:00,000 --> 00:00:05,021
[MUSIC]

2
00:00:05,021 --> 00:00:09,395
الآن بعد أن فهمنا الحاجة إلى المصادقة الأساسية في

3
00:00:09,395 --> 00:00:14,383
تطبيق Express الخاص بنا، دعونا ننتقل إلى التمرين حيث سنضيف

4
00:00:14,383 --> 00:00:19,372
المصادقة الأساسية إلى خادم الارتباك الذي قمنا بتطويره حتى الآن،

5
00:00:19,372 --> 00:00:21,311
خادم Express REST API.

6
00:00:22,470 --> 00:00:24,050
سوف

7
00:00:24,050 --> 00:00:29,170
نتعلم، على طول الطريق، كيف يمكننا استخدام المصادقة الأساسية داخل الخادم الخاص بنا.

8
00:00:29,170 --> 00:00:34,811
ثم في التدريبات اللاحقة، سنتوسع في هذه الفكرة

9
00:00:34,811 --> 00:00:41,107
لإضافة خدمة مصادقة كاملة لخادم Express REST API.

10
00:00:42,965 --> 00:00:46,576
في هذا التمرين، سوف نذهب إلى خادم الارتباك،

11
00:00:46,576 --> 00:00:49,290
ما كنا نعمل عليه حتى الآن.

12
00:00:49,290 --> 00:00:54,333
لذلك يجب أن تكون قد أكملت تنفيذ المهمة الثانية

13
00:00:54,333 --> 00:00:59,553
الآن، حيث كنت قد وضعت الترقيات ونموذج القادة.

14
00:00:59,553 --> 00:01:04,289
وأيضا تحديث الطرق لجهاز التوجيه زعيم وجهاز

15
00:01:04,289 --> 00:01:09,470
التوجيه الترويجي في تطبيق خادم الارتباك الخاص بك.

16
00:01:09,470 --> 00:01:12,960
حتى داخل هذا الرمز، دعونا نذهب إلى app.js

17
00:01:12,960 --> 00:01:17,392
ثم إضافة في المصادقة الأساسية إلى app.js.

18
00:01:17,392 --> 00:01:22,290
حتى في app.js كما فهمنا عن

19
00:01:22,290 --> 00:01:26,970
الطريقة الوسطى التي يعمل بها في تطبيق Express.

20
00:01:26,970 --> 00:01:31,010
لذلك نبدأ هنا في app.js عن

21
00:01:31,010 --> 00:01:36,640
طريق استيراد جميع وحدات العقدة المختلفة هنا.

22
00:01:36,640 --> 00:01:42,650
ثم بعد ذلك، نبدأ هنا بالقول أولاً app.use logger dev.

23
00:01:42,650 --> 00:01:46,410
لذلك سيتم تطبيق كل هذه على طلبنا.

24
00:01:46,410 --> 00:01:51,978
وبعد ذلك، هذه المكالمة هنا app.use (express.static)

25
00:01:51,978 --> 00:01:58,128
هي ما يمكننا من تقديم بيانات ثابتة من المجلد العمومي.

26
00:01:58,128 --> 00:02:03,068
الآن، يريدون القيام بالمصادقة قبل أن

27
00:02:03,068 --> 00:02:08,870
نسمح للعميل بأن يكون قادرًا على جلب البيانات من خادمنا.

28
00:02:08,870 --> 00:02:14,570
حتى هناك الحق، ونحن سوف ندخل وإضافة شارة المصادقة.

29
00:02:14,570 --> 00:02:18,090
لذلك لاحظت أن كل ما يأتي بعد هذا،

30
00:02:18,090 --> 00:02:22,970
كل الوسيطة التي شنت ويأتي بعد هذه النقطة بالذات.

31
00:02:22,970 --> 00:02:27,070
سيكون علينا أن نذهب من خلال مرحلة التفويض قبل

32
00:02:27,070 --> 00:02:29,550
أن يمكن الوصول إلى هذه البرامج الوسيطة.

33
00:02:29,550 --> 00:02:34,709
حتى هناك الحق، وأنا ذاهب إلى إضافة في app.use

34
00:02:34,709 --> 00:02:41,600
ثم إضافة وظيفة تسمى المصادقة، والتي أنا ذاهب إلى تنفيذها الآن.

35
00:02:41,600 --> 00:02:46,180
لذلك من خلال القيام بذلك، ما نحدده هو الافتراضي،

36
00:02:46,180 --> 00:02:50,200
يمكن للعميل الوصول إلى أي من هذه،

37
00:02:50,200 --> 00:02:56,070
إما موارده الثابتة في المجلد العام، أو أي من الموارد،

38
00:02:56,070 --> 00:03:00,140
والأطباق، والعروض الترويجية، أو القادة، أو حتى المستخدمين كما سنرى لاحقًا.

39
00:03:02,150 --> 00:03:05,700
يجب أن يكون العميل مصرح له أولاً

40
00:03:05,700 --> 00:03:08,220
لذلك هناك حق، وسوف نضيف في المصادقة.

41
00:03:08,220 --> 00:03:15,960
لذلك اسمحوا لي أن أضيف في وظيفة هنا تسمى المصادقة هناك حق.

42
00:03:15,960 --> 00:03:19,849
ثم استخدمه على الفور داخل

43
00:03:19,849 --> 00:03:23,147
تطبيق Express الخاص بنا كوسيطة هناك.

44
00:03:23,147 --> 00:03:27,826
لذا فإن هذه الوظيفة، ستأخذ المصادقة في ثلاث معلمات،

45
00:03:27,826 --> 00:03:33,914
كائن الطلب، كائن المورد، والكائن التالي، نعم.

46
00:03:37,015 --> 00:03:41,830
حتى ضمن هذه الوظيفة اسمحوا لي أولا،

47
00:03:41,830 --> 00:03:48,605
فقط لمعرفة ما هو موجود في رأس الطلب.

48
00:03:50,265 --> 00:03:56,175
اسمحوا لي فقط تسجيل رؤوس الطلبات هناك فقط لإثبات لك،

49
00:03:56,175 --> 00:03:59,970
لأنه بمجرد إضافة رأس التفويض،

50
00:03:59,970 --> 00:04:03,390
فإننا نريد أن نكون قادرين على رؤيته هناك.

51
00:04:03,390 --> 00:04:07,390
لذلك سنقوم أولا بعمل سجل وحدة التحكم،

52
00:04:07,390 --> 00:04:10,142
فقط لمعرفة ما يأتي من جانب العميل.

53
00:04:10,142 --> 00:04:14,379
ثم، اسمحوا لي الحصول على

54
00:04:14,379 --> 00:04:20,401
رأس التفويض الخاص بهم عن طريق قول

55
00:04:20,401 --> 00:04:26,900
req.headers.

56
00:04:26,900 --> 00:04:31,120
لذلك هذا هو المكان الذي سنحصل فيه على رأس التفويض الذي يتم إضافته

57
00:04:31,120 --> 00:04:33,320
من قبل جانب العميل.

58
00:04:33,320 --> 00:04:37,830
إذا لم يكن هناك، من الواضح، ثم نحن بحاجة إلى العمل وفقا لذلك.

59
00:04:37,830 --> 00:04:44,493
لذا، إذا كان AuthHeader خاليًا،

60
00:04:44,493 --> 00:04:48,992
مما يعني أنه لا يوجد رأس مصادقة في

61
00:04:48,992 --> 00:04:53,653
طلبنا الوارد، فمن الواضح أن عميلنا لم يتضمن اسم المستخدم وكلمة

62
00:04:53,653 --> 00:04:56,650
المرور في رأس المصادقة.

63
00:04:56,650 --> 00:05:01,230
لذلك نحن بحاجة لتحدي عملائنا لتقديم هذه المعلومات.

64
00:05:01,230 --> 00:05:06,338
لذلك إذا كان رأس التفويض فارغًا، فسنرى،

65
00:05:06,338 --> 00:05:12,130
var يخطئ خطأًا جديدًا،

66
00:05:12,130 --> 00:05:19,140
لذلك لن نسمح لطلب العميل الخاص بنا بالذهاب إلى أبعد من هذه النقطة.

67
00:05:19,140 --> 00:05:23,803
لذلك سنقول، لم يتم مصادقتك،

68
00:05:23,803 --> 00:05:28,222
وبعد ذلك سوف نتحدى العميل هناك.

69
00:05:28,222 --> 00:05:33,196
لذلك سنقول Res.Setheader، لذلك

70
00:05:33,196 --> 00:05:38,684
سنقوم بتعيين الرأس في

71
00:05:38,684 --> 00:05:46,061
رسالة الاستجابة قائلا www-authenticate،

72
00:05:46,061 --> 00:05:50,520
ومن المحاضرة في وقت سابق،

73
00:05:50,520 --> 00:05:55,493
سترى لماذا نضع هذا

74
00:05:55,493 --> 00:06:00,120
في رأس الاستجابة.

75
00:06:00,120 --> 00:06:04,480
وبعد ذلك سوف نقول خطأ الحالة.401

76
00:06:04,480 --> 00:06:07,710
401 هو الوصول غير المصرح به.

77
00:06:07,710 --> 00:06:12,740
وبعد ذلك سنقوم ببساطة بإنشاء مكالمتنا التالي مع الرأس.

78
00:06:12,740 --> 00:06:17,960
وهذا يعني أنه سيتم تخطي كل هذا والانتقال إلى معالج الأخطاء،

79
00:06:17,960 --> 00:06:20,710
حيث سيقوم معالج الخطأ ببناء رسالة الرد

80
00:06:20,710 --> 00:06:25,880
وإرسالها مرة أخرى إلى موكلي هناك.

81
00:06:25,880 --> 00:06:31,290
لذلك، إذا لم يكن العميل قد شمل رأس المصادقة أو

82
00:06:31,290 --> 00:06:34,690
رأس التفويض، ثم أنا ذاهب لتحدي العميل أن

83
00:06:34,690 --> 00:06:38,980
يطلب منه تزويدي لي رأس التفويض هناك.

84
00:06:38,980 --> 00:06:45,570
لذا إذا لم يكن كذلك، فأنا أعلم أن رأس التفويض موجود.

85
00:06:45,570 --> 00:06:51,553
حتى أبعد من هذه النقطة، سوف نقول var auth،

86
00:06:51,553 --> 00:06:55,760
وأنا ذاهب لاستخراج رأس التفويض.

87
00:06:57,460 --> 00:07:02,880
وبعد ذلك بما أن AuthHeader عبارة عن سلسلة،

88
00:07:02,880 --> 00:07:07,650
سأقوم بتقسيم

89
00:07:07,650 --> 00:07:12,690
هذه القيمة ورأس التفويض هذا، سأقوم بتقسيم القيمة.

90
00:07:12,690 --> 00:07:17,350
حتى كما ترون، المخزن المؤقت تمكنك من تقسيم القيمة ومن

91
00:07:17,350 --> 00:07:23,805
ثم نعطي أيضا ترميز المخزن المؤقت الذي هو ترميز Base64 هنا.

92
00:07:23,805 --> 00:07:28,790
لذلك سنقوم بتحويل ذلك إلى مخزن مؤقت عن طريق تقسيم ذلك إلى قسمين،

93
00:07:30,250 --> 00:07:32,390
باستخدام الفضاء كجزء تقسيم.

94
00:07:32,390 --> 00:07:37,614
لذلك عندما نظرت إلى رأس التفويض، رأيت لماذا

95
00:07:37,614 --> 00:07:42,656
تفصل المساحة بين القيمة الأساسية، ثم تمنحك بقية

96
00:07:42,656 --> 00:07:48,172
السلسلة المشفرة Base64 التي تحتوي على اسم المستخدم وكلمة المرور.

97
00:07:48,172 --> 00:07:53,510
ومن ذلك، نريد استخراج اسم المستخدم وكلمة المرور.

98
00:07:53,510 --> 00:07:59,970
لذلك نحن ذاهبون لتقسيم هذه القيمة، وبعد ذلك سوف ننظر فقط لذلك

99
00:07:59,970 --> 00:08:07,510
عندما تقسم السلسلة باستخدام هذا، فإنه سيتم تقسيم ذلك إلى صفيف.

100
00:08:07,510 --> 00:08:11,780
والعنصر الأول من الصفيف يحتوي على Basic.

101
00:08:11,780 --> 00:08:17,370
العنصر الثاني من الصفيف هو حيث توجد هذه السلسلة المشفرة base64.

102
00:08:17,370 --> 00:08:21,280
لذلك هذا هو السبب في أننا ننظر فقط في العنصر الثاني من هذه الصفيف.

103
00:08:21,280 --> 00:08:27,800
لذلك سيؤدي هذا التقسيم إلى تقسيم السلسلة إلى صفيف من عنصرين.

104
00:08:27,800 --> 00:08:32,944
حتى نتمكن من ذلك، نحن التقاط سلسلة base64 المشفرة من ذلك.

105
00:08:32,944 --> 00:08:39,820
ثم نحن في هذا المخزن المؤقت، وبعد ذلك نحن ذاهبون لتحويل ذلك إلى سلسلة.

106
00:08:39,820 --> 00:08:45,830
ثم مرة أخرى، قم بتقسيم السلسلة مرة أخرى لأن السلسلة

107
00:08:45,830 --> 00:08:51,200
نفسها ستحتوي على اسم المستخدم وكلمة المرور مفصولة بنقطتين.

108
00:08:51,200 --> 00:08:56,040
لذلك، سأقوم بتقسيمه باستخدام القولون

109
00:08:56,040 --> 00:09:01,350
كنقطة تقسيم لهذه السلسلة هنا.

110
00:09:01,350 --> 00:09:05,727
لذلك لاحظ أنني أقوم بتحميل اثنين من الانقسامات هنا، واحد على الفضاء

111
00:09:05,727 --> 00:09:11,110
والثاني، باستخدام القولون الذي يفصل بين اسم المستخدم وكلمة المرور.

112
00:09:11,110 --> 00:09:18,570
لذلك في نهاية هذا المتغير المصادقة يجب أن يكون مصفوفة تحتوي على عنصرين،

113
00:09:18,570 --> 00:09:24,460
اسم المستخدم وكلمة المرور التي يتم استخراجها من سلسلة base64.

114
00:09:24,460 --> 00:09:31,744
لذا عند هذه النقطة، ما سأقوم به هو،

115
00:09:31,744 --> 00:09:35,908
فقط من أجل الوضوح الخاص بك،

116
00:09:35,908 --> 00:09:40,695
سأقول ببساطة

117
00:09:40,695 --> 00:09:46,733
اسم المستخدم var = auth [0] ثم،

118
00:09:46,733 --> 00:09:51,970
var password = auth [1].

119
00:09:51,970 --> 00:09:57,760
حتى الآن لقد استخرجت اسم المستخدم وكلمة المرور من رأس التفويض الخاص بي.

120
00:09:57,760 --> 00:10:02,210
الآن سأستخدم قيمة افتراضية لاسم المستخدم وكلمة

121
00:10:02,210 --> 00:10:06,030
المرور في هذا التنفيذ.

122
00:10:06,030 --> 00:10:10,950
في وقت لاحق، سنرى أنه يمكننا السماح للمستخدمين بإنشاء اسم المستخدم وكلمة

123
00:10:10,950 --> 00:10:11,530
المرور الخاصة بهم.

124
00:10:11,530 --> 00:10:14,304
ولكن في الوقت الحالي، أنا فقط ذاهب لاستخدام،

125
00:10:17,358 --> 00:10:20,925
اسم المستخدم وكلمة المرور المشفرة كمشرف.

126
00:10:23,615 --> 00:10:30,705
وكلمة المرور ستكون مجرد كلمة مرور.

127
00:10:30,705 --> 00:10:32,778
لهذا التمرين الأساسي،

128
00:10:32,778 --> 00:10:37,970
سنستخدم هذا كاسم المستخدم وكلمة المرور الافتراضيين.

129
00:10:39,468 --> 00:10:47,520
إذا كان اسم المستخدم الذي أحصل عليه هو المشرف وكلمة المرور هي كلمة مرور السلسلة.

130
00:10:47,520 --> 00:10:52,490
ثم أنا على ما يرام للسماح

131
00:10:52,490 --> 00:10:56,950
سيتم تمرير طلب العميل من خلال إلى الوسيطة التالية لذلك، سأقول التالي.

132
00:10:56,950 --> 00:11:01,130
لذلك عندما أقول بعد ذلك، وهذا يعني أنه من المصادقة

133
00:11:01,130 --> 00:11:05,840
سيتم تمرير طلبهم على المجموعة التالية من البرامج الوسيطة هنا

134
00:11:05,840 --> 00:11:10,660
ثم سيحاول Express مطابقة الطلب المحدد لكانت

135
00:11:11,830 --> 00:11:15,420
برامج وسيطة محددة تخدم هذا الطلب.

136
00:11:15,420 --> 00:11:19,440
لذلك هذا هو المكان الذي سنسمح له بالمرور.

137
00:11:19,440 --> 00:11:24,000
إذا لم يكن الأمر كذلك، فهذا يعني أن اسم المستخدم وكلمة

138
00:11:24,000 --> 00:11:29,260
المرور لم يتطابقان مع الطلب

139
00:11:29,260 --> 00:11:33,010
واسم المستخدم وكلمة المرور الافتراضية التي أقوم بإعدادها.

140
00:11:33,010 --> 00:11:34,930
لذلك هذا يعني أن هناك خطأ.

141
00:11:34,930 --> 00:11:39,310
حتى في هذه الحالة، أنا ذاهب إلى مرة أخرى يسبب خطأ هنا،

142
00:11:39,310 --> 00:11:43,280
لذلك سنقول آخر، خطأ.

143
00:11:43,280 --> 00:11:49,540
لذلك سنقوم مرة أخرى بإنشاء خطأ ثم تحدي العميل لإرسال

144
00:11:49,540 --> 00:11:55,430
معلومات التفويض الصحيحة واسم المستخدم وكلمة المرور هنا.

145
00:11:55,430 --> 00:11:56,730
إذن هذا كل شيء

146
00:11:56,730 --> 00:12:01,100
هذا القليل من البرامج الوسيطة التي قمنا بتنفيذها للتو هنا،

147
00:12:01,100 --> 00:12:04,010
الوسيطة التخويل التي قمنا بتنفيذها للتو هنا.

148
00:12:04,010 --> 00:12:08,840
كافية لتنفيذ المصادقة الأساسية داخل التطبيق خارج.

149
00:12:08,840 --> 00:12:10,300
لذلك بعد إجراء هذه التغييرات،

150
00:12:10,300 --> 00:12:15,210
دعونا حفظ التغييرات وبعد ذلك سنرى كيف يعمل هذا في الواقع العملي.

151
00:12:15,210 --> 00:12:16,770
دعونا حفظ التغييرات.

152
00:12:16,770 --> 00:12:20,600
وبعد ذلك سنذهب ونبدأ الخادم الخاص بنا

153
00:12:20,600 --> 00:12:22,980
الآن، الذهاب إلى المحطة، بالطبع،

154
00:12:22,980 --> 00:12:26,916
تأكد من أنك خادم MongoDB قيد التشغيل.

155
00:12:26,916 --> 00:12:34,390
وإلا، لن يتم بدء تشغيل خادم Express الخاص بك.

156
00:12:34,390 --> 00:12:38,350
لذلك لدي بداية npm نوع موجه،

157
00:12:38,350 --> 00:12:41,810
ومن ثم سيكون خادم Express الخاص بك قيد التشغيل.

158
00:12:41,810 --> 00:12:46,760
الآن، افتح في نافذة التصفح المتخفي في متصفحك.

159
00:12:46,760 --> 00:12:51,280
السبب في أنني أطلب منك استخدام نافذة التصفح المتخفي هو أنه عند كتابة

160
00:12:51,280 --> 00:12:55,820
اسم المستخدم وكلمة المرور، سيتم تخزينه مؤقتًا بواسطة متصفحك.

161
00:12:55,820 --> 00:12:59,490
لذلك إذا كنت تستخدم نافذة التصفح المتخفي، إذا قمت بإعادة تشغيل المتصفح...

162
00:12:59,490 --> 00:13:01,710
ثم سيتم مسح ذاكرة التخزين المؤقت تلقائيا،

163
00:13:01,710 --> 00:13:04,300
لذلك لن يتم تذكر هذه المعلومات.

164
00:13:04,300 --> 00:13:07,500
الآن ماذا يحدث إذا قمت بكتابة اسم المستخدم وكلمة المرور، فسيتم تخزينه مؤقتًا،

165
00:13:07,500 --> 00:13:11,570
لذلك في وقت لاحق عند محاولة الوصول إلى الخادم،

166
00:13:11,570 --> 00:13:15,840
سيتم إرسال المعلومات المخزنة مؤقتًا تلقائيًا في الطلب الذي تقوم بإنشاؤه.

167
00:13:15,840 --> 00:13:18,710
ولهذا السبب من المهم

168
00:13:18,710 --> 00:13:23,400
استخدام نافذة التصفح المتخفي فقط لتظهر لك أن المصادقة الأساسية تعمل.

169
00:13:23,400 --> 00:13:31,140
لذلك في شريط عنوان المتصفح الخاص بك، دعنا نكتب المضيف المحلي: 3000، ونرى ما يحدث.

170
00:13:31,140 --> 00:13:36,920
لذلك عند كتابة لوكالهوست: 3000 ترى على الفور أن المتصفح الخاص بك للملوثات العضوية الثابتة

171
00:13:36,920 --> 00:13:43,290
هذا الحوار في الأعلى يطلب منك كتابة اسم المستخدم وكلمة المرور.

172
00:13:43,290 --> 00:13:50,240
إذا كنت لا تكتبه، اسمحوا لي أن اكتب في بعض اسم المستخدم العشوائي ثم نرى ما يحدث.

173
00:13:50,240 --> 00:13:54,000
لذلك إذا قمت بكتابة اسم مستخدم وكلمة مرور عشوائيين،

174
00:13:54,000 --> 00:13:57,260
فسترى أن الطلب مرفوض.

175
00:13:57,260 --> 00:14:00,890
لا يُسمح لي بالوصول إلى الخادم،

176
00:14:00,890 --> 00:14:06,100
ثم إذا كان الخادم سيقول مرة أخرى أن العميل غير مأذون به.

177
00:14:06,100 --> 00:14:10,330
وهكذا سوف يعود ويتحدانا مرة أخرى من أجل المصادقة الصحيحة.

178
00:14:10,330 --> 00:14:12,820
لذلك اسمحوا لي أن اكتب في المصادقة الحالية.

179
00:14:12,820 --> 00:14:17,670
لذلك اسمحوا لي أن اكتب في المشرف وكلمة المرور ككلمة مرور.

180
00:14:17,670 --> 00:14:23,650
ثم قم بتسجيل الدخول، وسترى أنه الآن

181
00:14:23,650 --> 00:14:28,530
سيسمح لك تطبيق Express بالدخول والوصول إلى القيمة الافتراضية،

182
00:14:28,530 --> 00:14:34,700
والتي في هذه الحالة هو ملف Index.html من هذا المجلد العمومي الثابت.

183
00:14:34,700 --> 00:14:39,590
الآن، نفس الشيء إذا كنت تحاول الوصول إلى المضيف المحلي: الأطباق

184
00:14:39,590 --> 00:14:43,260
دون إذن، فلن تعمل.

185
00:14:43,260 --> 00:14:49,320
وسأثبت لك ذلك باستخدام ساعي البريد خلال دقيقة

186
00:14:50,630 --> 00:14:56,011
الآن بعد أن رأينا كيف تعمل المصادقة، دعونا نذهب

187
00:14:56,011 --> 00:15:00,985
وننظر إلى ما حدث على وحدة التحكم على موقع الخادم لدينا.

188
00:15:06,181 --> 00:15:11,141
الذهاب إلى وحدة التحكم على موقع الخادم لدينا ترى أن مجموعة كاملة من المعلومات

189
00:15:11,141 --> 00:15:13,769
قد طبعت هنا، لذلك كما رأيت،

190
00:15:13,769 --> 00:15:17,030
كنا تسجيل الخروج من رؤوس الطلبات هنا.

191
00:15:17,030 --> 00:15:21,040
لذلك هذا هو الطلب الأول الذي جاء مع رأس الطلب.

192
00:15:21,040 --> 00:15:26,860
وهنا ترى أنه لا يوجد رأس تفويض في الطلب.

193
00:15:26,860 --> 00:15:34,620
وهكذا رفض الخادم الخاص بك ذلك مع 401 يطلب من عميلنا أن يأذن لنفسه.

194
00:15:34,620 --> 00:15:40,240
المرة الثانية أيضًا لأننا لم نكتب التفويض الصحيح الذي

195
00:15:40,240 --> 00:15:41,916
رفضه الخادم.

196
00:15:41,916 --> 00:15:48,390
بالطبع، تلاحظ الآن أنه في الرأس، هناك حق، يتم

197
00:15:48,390 --> 00:15:52,820
تضمين التفويض بالفعل هناك، وترى الطريقة التي يتم بها تضمين التفويض.

198
00:15:52,820 --> 00:15:56,650
وتقول Basic مفصولة بمسافة،

199
00:15:56,650 --> 00:16:02,980
ومفصولة بسلسلة 64 بت المشفرة التي تحتوي على اسم المستخدم وكلمة المرور.

200
00:16:02,980 --> 00:16:06,080
وبعد ذلك، نرى أن الخادم

201
00:16:06,080 --> 00:16:09,540
رفض هذا لأن التفويض كان خاطئا في تلك المرحلة.

202
00:16:09,540 --> 00:16:14,452
الآن في وقت لاحق، كتبنا في اسم المستخدم وكلمة المرور الصحيحين.

203
00:16:14,452 --> 00:16:18,938
لذلك هناك الحق في الطلب الثالث الذي جاء في، كتبنا اسم المستخدم وكلمة

204
00:16:18,938 --> 00:16:19,597
المرور الصحيحين.

205
00:16:19,597 --> 00:16:27,323
وهكذا، لهذا السبب ترى أن رأس الطلب يحتوي على التفويض،

206
00:16:27,323 --> 00:16:34,180
وتستخدم هذه السلسلة الترميز الصحيح لاسم المستخدم وكلمة المرور.

207
00:16:34,180 --> 00:16:35,720
كيف لي أن أعرف ذلك؟

208
00:16:35,720 --> 00:16:38,384
حسنا، لقد عبر فحص ومعرفة ذلك،

209
00:16:38,384 --> 00:16:42,337
وهذا هو النسخة الأجنبية المشفرة الأساسية من السلسلة هناك.

210
00:16:42,337 --> 00:16:47,470
وسوف نرى أيضا أن من صورة ساعي البريد لدينا أو ما.

211
00:16:48,740 --> 00:16:53,740
الآن، ترى أن الطلب قد تم

212
00:16:53,740 --> 00:16:55,740
قبوله وإرجاع القيمة بشكل صحيح.

213
00:16:57,210 --> 00:17:05,150
ثم بالطبع، في وقت لاحق، طلب العميل للحصول على رمز فافيكون، الرمز.

214
00:17:05,150 --> 00:17:11,590
وبما أننا لا نملك favicon في جانب الخادم الخاص بنا، فإنه يرد مع 404

215
00:17:11,590 --> 00:17:15,560
وبالطبع لا يتم عرض الرمز المفضل لديك في شريط العناوين.

216
00:17:15,560 --> 00:17:18,640
لذلك هذا جيد، ولكن لاحظ على وجه الخصوص.

217
00:17:18,640 --> 00:17:21,430
جاءت تلك المطلوبة بشكل خاص،

218
00:17:21,430 --> 00:17:25,030
حيث تم تضمين رأس التفويض الصحيح.

219
00:17:25,030 --> 00:17:28,490
وهكذا، كان ناجحا في ذلك الوقت.

220
00:17:28,490 --> 00:17:33,680
دعونا نحاول ونرى كيف يمكننا أن نفعل الشيء نفسه مع خريطة البريد.

221
00:17:33,680 --> 00:17:38,480
حتى هنا لدي نافذة خريطة البريد الخاصة بي مفتوحة.

222
00:17:38,480 --> 00:17:42,250
وهكذا في نافذة ساعي البريد سأكتب في

223
00:17:44,160 --> 00:17:50,670
الحصول على المضيف المحلي: إلى الخادم الخاص بي، ومن ثم إرسال الطلب

224
00:17:50,670 --> 00:17:57,260
وستلاحظ على الفور أنه يتحدى قائلا 401 غير مصرح به.

225
00:17:57,260 --> 00:18:01,890
لذلك هذه هي رسالة الرد من جانب الخادم،

226
00:18:01,890 --> 00:18:06,580
لذلك لاحظ ما يحفظه، 401 غير مصرح به.

227
00:18:06,580 --> 00:18:12,550
وتقول أن الاستجابة يجب أن تتضمن حقل رأس WW-Authenticate.

228
00:18:12,550 --> 00:18:18,153
وهذا سيكون تحديا للعميل لإرسال معلومات التفويض

229
00:18:18,153 --> 00:18:20,083
واسم المستخدم وكلمة المرور.

230
00:18:20,083 --> 00:18:25,833
حتى معاينة هذا، ونحن نرى أن الجملة لم يتم مصادقتها

231
00:18:25,833 --> 00:18:27,940
ثم رمز 401 هنا.

232
00:18:27,940 --> 00:18:31,341
الآن تبحث في رؤوس رسالة الرد.

233
00:18:31,341 --> 00:18:36,781
عندما تنظر إلى رأس رسالة الرد، يمكنك أن ترى على وجه الخصوص

234
00:18:36,781 --> 00:18:41,718
هذا الرأس المدرجة هناك، وهو www.authenticatebasic.

235
00:18:41,718 --> 00:18:46,522
الآن، كيف نفعل المصادقة أو التفويض في المشاركة؟

236
00:18:46,522 --> 00:18:51,090
لذا هذا هو المكان الذي سيذهبون إليه أسفل هذا الصندوق هنا،

237
00:18:51,090 --> 00:18:53,952
سترى هذا التفويض هنا.

238
00:18:53,952 --> 00:18:58,050
وعندما تنقر على التفويض، فإنه يقول الآن NO AUTH..

239
00:18:58,050 --> 00:19:01,240
دعونا نستخدم المصادقة الأساسية.

240
00:19:01,240 --> 00:19:04,820
لذلك عندما أقول المصادقة الأساسية، وسوف

241
00:19:04,820 --> 00:19:08,530
تعطيني هذين الحقلين هنا حيث يمكنني كتابة اسم المستخدم وكلمة المرور.

242
00:19:08,530 --> 00:19:11,160
اسمحوا لي أن اكتب اسم المستخدم وكلمة المرور الصحيحين.

243
00:19:11,160 --> 00:19:19,170
لذلك سأقول اسم المستخدم المشرف، كلمة المرور هي كلمة المرور P-A-S-S-W-O-R-D.

244
00:19:19,170 --> 00:19:22,650
لذا يمكنكم أن تروا ذلك، هذه بالضبط كلمة السر التي لدينا هنا.

245
00:19:22,650 --> 00:19:26,800
لذلك بمجرد كتابة اسم المستخدم وكلمة المرور، سيقولون طلب التحديث.

246
00:19:26,800 --> 00:19:30,980
لذلك عندما أنقر على طلب التحديث، سترى أنه على الفور في الرأس،

247
00:19:32,130 --> 00:19:35,340
سترى أن

248
00:19:35,340 --> 00:19:40,770
هناك هذا الحقل هنا الذي تمت إضافته هنا قائلا التفويض.

249
00:19:40,770 --> 00:19:45,080
وبعد ذلك، سترى ما هذا الجزء الثاني، القيمة التي يمكن أن تأخذ.

250
00:19:45,080 --> 00:19:49,480
وتقول الأساسية ومساحة، ثم هذه السلسلة معينة.

251
00:19:49,480 --> 00:19:55,040
لذلك إذا قمت بفحص هذه السلسلة المعينة هنا، فستكون هذه

252
00:19:55,040 --> 00:20:01,219
هي السلسلة الدقيقة التي ستراها في رأس رسالة الطلب الناجحة.

253
00:20:01,219 --> 00:20:03,544
لاحظ ما تقوله هذه السلسلة.

254
00:20:03,544 --> 00:20:09,309
يقول YWR شيء, ومن ثم ينتهي مع Q يساوي.

255
00:20:09,309 --> 00:20:14,285
الذهاب إلى محطتنا، ترى أن الطلب الناجح

256
00:20:14,285 --> 00:20:18,276
يحتوي بالفعل على تلك السلسلة بالضبط هنا.

257
00:20:18,276 --> 00:20:24,250
وتقول YWR ومن ثم تنتهي مع Q يساوي هناك.

258
00:20:24,250 --> 00:20:28,400
لذلك من خلال كتابة المعلومات في التفويض ثم النقر

259
00:20:28,400 --> 00:20:34,240
على طلب التحديث، تتم إضافة هذه المعلومات إلى رؤوس التخويل.

260
00:20:34,240 --> 00:20:36,410
حتى الآن هذا هو طلب الحصول،

261
00:20:37,410 --> 00:20:42,020
وأنا لست بحاجة إلى نوع المحتوى هناك لأنه لا يحتوي على أي جسم.

262
00:20:42,020 --> 00:20:46,106
حتى الآن بعد أن تم تضمين التفويض،

263
00:20:46,106 --> 00:20:51,263
دعنا نرسل الطلب الآن بشكل صحيح ومن ثم سترى أن

264
00:20:51,263 --> 00:20:57,990
الرد القادم من موقع الخادم سيحتوي على ملف الفهرس كما تتوقع.

265
00:20:57,990 --> 00:21:02,524
الآن، اسمحوا لي أن حذف التفويض.

266
00:21:02,524 --> 00:21:07,351
الآن هذا هو السبب في أن Postmap يساعدني على التحقق من هذه الأشياء

267
00:21:07,351 --> 00:21:11,662
بسهولة أكبر، يمكنني حذف التفويض ثم إرسال الطلب.

268
00:21:11,662 --> 00:21:14,947
وسيظل يحتوي على هذا التفويض،

269
00:21:14,947 --> 00:21:18,570
لأنني كتبت هذا في حقل التفويض.

270
00:21:18,570 --> 00:21:23,380
لذلك اسمحوا لي أن مسح التفويض من هناك، ومن ثم إرسال الطلب هنا.

271
00:21:23,380 --> 00:21:26,000
ومن ثم تقول أنك غير مصدق.

272
00:21:26,000 --> 00:21:30,230
وبالمثل، إذا أرسلت الطلب إلى الأطباق. في

273
00:21:30,230 --> 00:21:32,000
السابق، كان هذا يعمل بشكل جيد ولكن

274
00:21:32,000 --> 00:21:37,750
الآن ترى أننا منعون من الوصول إلى نقطة النهاية /الأطباق أيضا.

275
00:21:37,750 --> 00:21:41,400
ونفس الشيء مع جميع بقية بقية نقاط نهاية أبريل أيضا.

276
00:21:41,400 --> 00:21:47,360
لن يسمح لك بالوصول، لأن الوسيطة التخويل تأتي قبل

277
00:21:47,360 --> 00:21:50,600
الوصول إلى أي من نقاط النهاية هذه

278
00:21:50,600 --> 00:21:56,070
في قائمة البرامج الوسيطة لخادمك السريع.

279
00:21:56,070 --> 00:21:59,945
حتى الآن إذا قمت الآن بتضمين التفويض،

280
00:22:04,774 --> 00:22:10,277
ثم قم بتحديث طلبي ثم أرسل الطلب إلى الخادم،

281
00:22:10,277 --> 00:22:12,845
فسوف يستجيب الخادم.

282
00:22:12,845 --> 00:22:17,412
الآن من الواضح في هذه اللحظة بلدي قاعدة البيانات فارغة،

283
00:22:17,412 --> 00:22:20,752
لذلك هو الرد مع مجموعة فارغة هناك.

284
00:22:20,752 --> 00:22:24,109
ولكن الآن ذهب الطلب بنجاح،

285
00:22:24,109 --> 00:22:28,004
وأنا قادرة على استرداد المعلومات من جورب الخادم.

286
00:22:28,004 --> 00:22:32,186
لذلك هذا هو مظاهرة سريعة من

287
00:22:32,186 --> 00:22:37,724
التفويض الأساسي في التطبيق الخاص بنا للراحة أبر.

288
00:22:37,724 --> 00:22:40,730
مع هذا، نكمل هذا التمرين.

289
00:22:40,730 --> 00:22:42,236
هذا هو الوقت المناسب بالنسبة

290
00:22:42,236 --> 00:22:46,846
لك للقيام تعليق الحصول مع رسالة المصادقة الأساسية.

291
00:22:46,846 --> 00:22:50,116
[ موسيقى]