ئىشلەتكۈچى “Sign in” نى چېكىپ، تەمىنلىگۈچىنىڭ بېتىگە يېتىپ، Rails غا قايتىدۇ. كېيىنكى قەدەم يەنىلا مەغلۇپ بولۇشى مۇمكىن، چۈنكى ئۇ Rails مۇلازىمېتىرىدىن يېڭى ئۇلىنىش ئاچىدۇ.

browser → provider authorization page → browser callback to Rails
Rails   → provider token endpoint → Rails

Browser ئۆزىنىڭ تور سەپلىمىسى بىلەن ھوقۇق قايتا يۆلەشنى ئىز قوغلايدۇ. Rails بولسا ئورنىتىلغان OmniAuth ئىستراتېگىيىسى تاللىغان HTTP خېرىدارى بىلەن ئارقا يول token ئالماشتۇرۇشنى ئېلىپ بارىدۇ. شىركەت proxy سىنىڭ ئارقىسىدا ئىشلەۋاتقان خىزمەتچى تەمىنلىگۈچىگە قىلغان تەلەپلىرىدە بۇ يولغا ئېھتىياجلىق.

OAuth 1.0 دىمۇ ئىشلەتكۈچى زىيارەتنى ھوقۇقلىغانغا قەدەر مۇلازىمېتىر تەرەپتە تەلەپ token قەدىمى بار. OAuth 2.0 نىڭ ھوقۇق كودى ئېقىمىدا قايتا چاقىرىشتىن كېيىن ئۆزىنىڭ token ئالماشتۇرۇشى بار. توغرا تەرتىپ ئىستراتېگىيىگە باغلىق، ئەمما browser بىلەن ئەپلىكەشىن مۇلازىمېتىرى ئايرىم باشلىنىش نۇقتىسى بولۇپ قالىدۇ.

خېرىدارنىڭ سەپلىمىسىنى تېپىڭ

ئىستراتېگىيىنى ئۇنىڭ token ۋە تەمىنلىگۈچى API تەلەپلىرىنى ئەۋەتىدىغان HTTP خېرىدارىغىچە ئىز قوغلاڭ. شۇ خېرىدارنىڭ ھۆججەتلەشتۈرۈلگەن proxy تاللانمىسىنى ئىشلىتىڭ. بەزى ئىستراتېگىيىلەر خېرىدار تاللانمىلىرىنى OAuth كۇتۇپخانىسىغا ئەۋەتىدۇ؛ بەزىلىرى ئۇنىڭ ئاستىدا HTTP ئۇلىنىش سەپلەيدۇ. بىر ئىستراتېگىيە قوبۇل قىلغان تاللانما ئاپتوماتىك ھالدا ئورتاق OmniAuth تاللانمىسى ئەمەس.

تەمىنلىگۈچىنىڭ ھوقۇق، token ۋە قايتا چاقىرىش URL لىرى ئۇنىڭ ھەقىقىي مۇلازىمەتلىرىنى تەسۋىرلىسۇن. چىقىش proxy سى تەمىنلىگۈچىگە يېتىش ئۈچۈن قاتناش تەڭشىكى، ئۇ قايتا چاقىرىش ئادرېسىنىڭ ئورنىنى ئالمايدۇ ۋە OAuth تەلەپ پارامېتىرلىرىغا قوشۇلىدىغان مەيدان ئەمەس.

كىرىشنى ئىز قوغلىغاندا ئاخىرقى تاماملانغان قەدەمنى بەلگىلەڭ. كۆرسىتىلگەن تەمىنلىگۈچى كىرىش بېتى browser يولىنىڭ ئىشلىگەنلىكىنى ئىسپاتلايدۇ. Rails تاپشۇرۇۋالغان قايتا چاقىرىش browser نىڭ قايتقانلىقىنى ئىسپاتلايدۇ. كېيىنكى token تەلىپى Rails جەريانىدىن كەلگەن proxy ئۇلىنىشى، خىرىس ياكى تەمىنلىگۈچى ئىنكاسىنى تەكشۈرىدىغان ئورۇن.

مۇناسىۋەتلىك ماقالىلەر