laravel5.5 401¹ýʧ
laravel 5.5 401¹ýʧ£ºÔõÑù½â¾ö£¿
LaravelÊÇÒ»ÖÖºÜÊÇÊ¢ÐеÄPHP¿ò¼Ü£¬¿ÉÌá¸ßWebÓ¦ÓóÌÐòµÄ¿ª·¢Ð§ÂÊ¡£È»¶ø£¬ÔÚʹÓÃLaravelʱ£¬Äú¿ÉÄÜ»áÓöµ½401¹ýʧ¡£Õâ¸ö¹ýʧͨ³£ÊÇÓÉÓÚûÓÐͨ¹ýÉí·ÝÑéÖ¤»ò»á»°ÒÑÓâÆÚµ¼Öµģ¬µ«Ò²¿ÉÄÜÊÇÆäËûÔµ¹ÊÔÓÉ¡£±¾ÎĽ«ÏÈÈÝÔõÑù½â¾öLaravel 5.5 401¹ýʧ¡£
¼ì²éÉí·ÝÑéÖ¤
Ê×ÏÈ£¬¼ì²éÄúµÄÉí·ÝÑéÖ¤ÊÇ·ñ׼ȷ¡£ÔÚLaravelÖУ¬¿ÉÒÔʹÓÃÐí¶àÉí·ÝÑéÖ¤ÒªÁ죬ÈçʹÓÃLaravel×Ô´øµÄAuthÃÅÃæ»òʹÓÃLaravel Passport¾ÙÐÐOAuthÉí·ÝÑéÖ¤¡£È·±£ÄúÔÚÌá½»ÇëÇó֮ǰÒѾÍê³ÉÁËÉí·ÝÑéÖ¤¡£
ÀýÈ磬ÈôÊÇÄúʹÓÃAuthÃÅÃæÑéÖ¤ÄúµÄÓû§£¬ÇëÈ·±£Ê¹ÓÃauthÖÐÐļþÀ´ÑéÖ¤ËûÃǵĻá¼ûȨÏÞ¡£Äú¿ÉÒÔÔÚÄúµÄ·Óɽç˵ÖÐÏñÕâÑùʹÓÃËü£º
Route::get('/dashboard', ['middleware' => ['auth'], function () { // ´Ë´¦ÎªÄúµÄ´úÂë }]);
µÇ¼ºó¸´ÖÆ
¼ì²é·ÓÉ
¼ì²éÄúµÄ·ÓÉÊÇ·ñ׼ȷ¡£ÈôÊÇ·ÓÉÓÐÎ󣬽«·µ»Ø¹ýʧ´úÂë401¡£È·±£ÄúµÄ·Óɽç˵׼ȷ£¬²¢ÇÒÓëÄúµÄ¿ØÖÆÆ÷ºÍÒªÁìÆ¥Åä¡£Äú¿ÉÒÔÔÚä¯ÀÀÆ÷»òÔÚÖÕ¶ËÖÐʹÓÃÏÂÁî¡°php artisan route:list¡±À´Éó²éÄúµÄ·ÓÉ¡£
¼ì²éCSRF±£»¤
LaravelĬÈÏÆôÓÃCSRF±£»¤£¬ÒÔ±ÜÃâ¿çÕ¾ÇëÇó¹¥»÷¡£ÈôÊÇÄúµÄÓ¦ÓóÌÐòʹÓÃPOST¡¢PUT»òDELETEÇëÇó£¬Ôò±ØÐèÔÚÇëÇóÖаüÀ¨CSRFÁîÅÆ¡£ÈôÊÇÄú²»°üÀ¨CSRFÁîÅÆ£¬Ôò»á·µ»Ø401¹ýʧ¡£
ΪÏàʶ¾öÕâ¸öÎÊÌ⣬Äú¿ÉÒÔʹÓÃLaravelÖеÄ@csrfÖ¸Áî»òÔÚ·¢ËÍAJAXÇëÇóʱ½«CSRFÁîÅÆÌí¼Óµ½ÇëÇóÖС£ÀýÈ磬¹ØÓÚAJAXÇëÇó£¬Äú¿ÉÒÔ½«ÒÔÏ´úÂëÌí¼Óµ½JavaScriptÎļþÖУº
$.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } });
µÇ¼ºó¸´ÖÆ
¼ì²é¿çÔ´×ÊÔ´¹²Ïí£¨CORS£©
ÈôÊÇÄúʹÓÃLaravel 5.5»ò¸ü¸ß°æ±¾£¬²¢Ê¹ÓÃAPI·ÓÉ£¬Ôò¿ÉÄÜ»áÓöµ½CORSÎÊÌâ¡£¿çÔ´×ÊÔ´¹²Ïí£¨CORS£©ÊÇÒ»ÖÖWebä¯ÀÀÆ÷ÓëWebЧÀÍÆ÷Ö®¼äµÄ»úÖÆ£¬ÔÊÐíWebÒ³Ãæ´ÓÒ»¸öÓòÇëÇóÁíÒ»¸öÓòµÄ×ÊÔ´¡£ÈôÊÇCORSδ׼ȷÉèÖã¬ä¯ÀÀÆ÷½«×èÖ¹ÇëÇó²¢·µ»Ø401¹ýʧ¡£
ΪÏàʶ¾öÕâ¸öÎÊÌ⣬Äú¿ÉÒÔÔÚLaravelÖÐʹÓÃbarryvdh/laravel-corsÀ©Õ¹³ÌÐò¡£Õâ¸öÀ©Õ¹³ÌÐò½«ÔÊÐíÄúÔÚLaravelÓ¦ÓóÌÐòÖÐ×Ô½ç˵CORS¹æÔò²¢½â¾öCORSÎÊÌâ¡£
¼ì²é»á»°
×îºó£¬¼ì²éÄúµÄ»á»°ÊÇ·ñÒÑÓâÆÚ¡£ÈôÊǻỰÒÑÓâÆÚ£¬ÄúµÄÓ¦ÓóÌÐò½«ÎÞ·¨ÑéÖ¤Óû§²¢·µ»Ø401¹ýʧ¡£ÔÚLaravelÖУ¬»á»°ÖÎÀíÆ÷ʹÓÃcookiesÀ´¸ú×ÙÓû§»á»°£¬Òò´ËÈôÊÇÓû§¹Ø±ÕÁËËûÃǵÄWebä¯ÀÀÆ÷£¬Ôò»á»°¿ÉÄÜ»áÁ¬Ã¦ÓâÆÚ¡£¿ÉÒÔÔÚconfig/session.phpÖÐÉèÖûỰÖÎÀíÆ÷µÄÓâÆÚʱ¼ä¡£
ÈôÊÇÓû§´Ó³¤Ê±¼ä²»Ô˶¯ºóͻȻ»á¼ûÄúµÄÓ¦ÓóÌÐò£¬Ôò¿ÉÄ᷺ܻÆðͬÑùµÄÎÊÌâ¡£ÕâÖÖÇéÐοÉÒÔͨ¹ýÔÚconfig/session.phpÖÐÉèÖá°lifetime¡±ºÍ¡°expire_on_close¡±Ñ¡ÏîÀ´½â¾ö¡£
×ܽá
401¹ýʧ¿ÉÄÜÊÇLaravelÓ¦ÓóÌÐòÖеij£¼û¹ýʧ֮һ¡£ÉÏÊöÈκÎÒ»ÖÖÇéÐζ¼¿ÉÄܵ¼ÖÂ401¹ýʧ¡£Òò´Ë£¬ÈôÊÇÄúÓöµ½401¹ýʧ£¬ÇëÈ·±£¼ì²éÉí·ÝÑéÖ¤¡¢Â·ÓÉ¡¢CSRF±£»¤¡¢CORSºÍ»á»°µÈ·½Ã棬ÒÔ²éÕÒÎÊÌâËùÔÚ¡£Ò»µ©Äú·¢Ã÷ÎÊÌâËùÔÚ£¬±ã¿ÉÇáËɽâ¾öËü£¬²¢È·±£ÄúµÄLaravelÓ¦ÓóÌÐòÕý³£ÊÂÇé¡£
ÒÔÉϾÍÊÇlaravel5.5 401¹ýʧµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡