更换为小写
修改理由:
相关信息:
- 类型:文档文章
- 文章: Sanctum 轻量级 API 认证
- 文档: 《Laravel 7 中文文档(7.x)》
此投稿已在 5年前 合并。
内容修改:
| Old | New | Differences |
|---|---|---|
| 126 | 126 | |
| 127 | 127 | 为了保护路由,所有进来的请求都必须进行认证,应该将 `Sanctum` 认证守卫附加到 `routes/api.php` 的API路由里。如果一个请求是来自第三方的请求,这个守卫会确保进来的请求既是一个你的SPA应用的有状态的已认证请求,也是一个包含了有效令牌头的已认证请求: |
| 128 | 128 | |
| 129 | Route::middleware('auth: | |
| 129 | Route::middleware('auth:sanctum')->get('/user', function (Request $request) { | |
| 130 | 130 | return $request->user(); |
| 131 | 131 | }); |
| 132 | 132 | … | … |
| 202 | 202 | |
| 203 | 203 | 要对单页面应用进行身份验证,你的单页面应用的登录页面应首先向`/Sanctum/csrf-cookie`路由发出请求,以初始化应用程序的CSRF保护: |
| 204 | 204 | |
| 205 | axios.get('/ | |
| 205 | axios.get('/sanctum/csrf-cookie').then(response => { | |
| 206 | 206 | // 登录... |
| 207 | 207 | }); |
| 208 | 208 | … | … |
| 220 | 220 | |
| 221 | 221 | 为了保护路由,因此必须对所有传入的请求进行身份验证,你应该在`routes/api.php`文件中为你的API路由附加`Sanctum` 授权看守器。如果请求来自你的单页面应用,此看守器会确保传入的请求被验证为有状态的已验证请求,如果请求来自第三方,它将使请求包含有效的API令牌头: |
| 222 | 222 | |
| 223 | Route::middleware('auth: | |
| 223 | Route::middleware('auth:sanctum')->get('/user', function (Request $request) { | |
| 224 | 224 | return $request->user(); |
| 225 | 225 | }); |
| 226 | 226 | … | … |
| 232 | 232 | |
| 233 | 233 | 如果你的单页面应用需要通过[private / presence broadcast channels](/docs/{{version}}/broadcasting#authorizing-channels)进行身份认证,你需要在你的`routes/api.php`文件中调用`Broadcast::routes`方法: |
| 234 | 234 | |
| 235 | Broadcast::routes(['middleware' => ['auth: | |
| 235 | Broadcast::routes(['middleware' => ['auth:sanctum']]); | |
| 236 | 236 | |
| 237 | 237 | 接下来, 为了使Pusher的授权请求成功, 你需要在初始化[Laravel Echo](/docs/{{version}}/broadcasting#installing-laravel-echo)时提供自定义的Pusher`authorizer`。这可以让你的应用程序将Pusher配置为 [为了跨域请求正确配置的](#cors-and-cookies)`axios`实例: |
| 238 | 238 | … | … |
| 278 | 278 | use Illuminate\Support\Facades\Hash; |
| 279 | 279 | use Illuminate\Validation\ValidationException; |
| 280 | 280 | |
| 281 | Route::post('/ | |
| 281 | Route::post('/sanctum/token', function (Request $request) { | |
| 282 | 282 | $request->validate([ |
| 283 | 283 | 'email' => 'required|email', |
| 284 | 284 | 'password' => 'required', | … | … |
| 305 | 305 | |
| 306 | 306 | 如前所述,您需要保护路由,因此必须通过在路由上附加`Sanctum`身份验证看守器来对所有传入请求进行身份验证。一般来说,你会将此看守器附加到`routes/api.php`文件中定义的路由上: |
| 307 | 307 | |
| 308 | Route::middleware('auth: | |
| 308 | Route::middleware('auth:sanctum')->get('/user', function (Request $request) { | |
| 309 | 309 | return $request->user(); |
| 310 | 310 | }); |
| 311 | 311 |
关于 LearnKu