arrays 5年前

修改理由:

去除多余的空格.

相关信息:


此投稿已在 5年前 合并。

内容修改:

红色背景 为原始内容

绿色背景 为新增或者修改的内容

OldNewDifferences
1  
21# Laravel Airlock
32
43- [介绍](#introduction)
 
3433
3534Laravel Airlock 的这个特性是通过将用户 API 令牌存储在单个数据库表中,并通过包含了有效 API 令牌的`Authorization`标头对传入请求进行身份验证而实现的。
3635
37 
38 
 36
 37
3938
4039#### SPA 身份验证
4140
 
7170       \Illuminate\Routing\Middleware\SubstituteBindings::class,
7271   ],
7372
74 
75 
 73
 74
7675<a name="api-token-authentication"></a>
7776## API 令牌认证
7877
 
104103       //
105104   }
106105
107 
108 
 106
 107
109108
110109<a name="token-abilities"></a>
111110### 令牌能力
 
131130       return $request->user();
132131   });
133132
134 
135 
 133
 134
136135
137136<a name="revoking-tokens"></a>
138137### 撤销令牌
 
154153
155154对于这个特性,Airlock不使用其他任何类型的令牌。相反,Airlock 使用的是Laravel内置的基于cookie的session认证服务。这带来了诸多好处,比如CSRF保护,以及防止通过XSS泄漏身份验证凭据。Airlock 只会在传入的请求来自于你自己的SPA前端时尝试使用cookie进行身份验证。
156155
157 
158 
 156
 157
159158
160159<a name="spa-configuration"></a>
161160### 配置
 
166165
167166#### Airlock 中间件
168167
169 接下来,你应该将Airlock的中间件添加到`app / Http / Kernel.php`文件中的`api`中间件组中。该中间件负责确保来自单页面应用的传入请求可以使用Laravel的会话cookie进行身份验证,同时仍允许来自第三方或移动应用程序的请求使用API令牌进行身份验证:
 168接下来,你应该将Airlock的中间件添加到`app/Http/Kernel.php`文件中的`api`中间件组中。该中间件负责确保来自单页面应用的传入请求可以使用Laravel的会话cookie进行身份验证,同时仍允许来自第三方或移动应用程序的请求使用API令牌进行身份验证:
170169
171170   use Laravel\Airlock\Http\Middleware\EnsureFrontendRequestsAreStateful;
172171
 
176175       \Illuminate\Routing\Middleware\SubstituteBindings::class,
177176   ],
178177
179 
180 
 178
 179
181180
182181<a name="cors-and-cookies"></a>
183182#### CORS & Cookies
 
186185
187186你应该确保应用程序的CORS配置返回的`Access-Control-Allow-Credentials`标头的值为`True`。你可以在`cors`配置文件中配置应用程序的CORS设置。
188187
189 另外,你应该在全局`axios`实例上启用`withCredentials`选项。通常,这应该在你的`resources / js / bootstrap.js`文件中执行:
 188另外,你应该在全局`axios`实例上启用`withCredentials`选项。通常,这应该在你的`resources/js/bootstrap.js`文件中执行:
190189
191190   axios.defaults.withCredentials = true;
192191
 
195194
196195   'domain' => '.domain.com',
197196
198 
199 
 197
 198
200199
201200<a name="spa-authenticating"></a>
202201### 验证
 
213212
214213> {提示}你可以自由编写自己的`/login`端点;但是,你应确保使用标准的[Laravel提供的基于会话的身份验证服务](/docs/{{version}}/authentication#authenticating-users)对用户进行身份验证。
215214
216 
217 
 215
 216
218217
219218<a name="protecting-spa-routes"></a>
220219### 路由保护
 
225224       return $request->user();
226225   });
227226
228 
229 
 227
 228
230229
231230<a name="authorizing-private-broadcast-channels"></a>
232231### 授权私有广播频道
 
261260       },
262261   })
263262
264 
265 
 263
 264
266265
267266<a name="mobile-application-authentication"></a>
268267## 移动应用身份验证
 
304303<a name="protecting-mobile-api-routes"></a>
305304### 路由保护
306305
307 如前所述,您需要保护路由,因此必须通过在路由上附加`airlock`身份验证看守器来对所有传入请求进行身份验证。一般来说,你会将此看守器附加到`routes / api.php`文件中定义的路由上:
 306如前所述,您需要保护路由,因此必须通过在路由上附加`airlock`身份验证看守器来对所有传入请求进行身份验证。一般来说,你会将此看守器附加到`routes/api.php`文件中定义的路由上:
308307
309308   Route::middleware('auth:airlock')->get('/user', function (Request $request) {
310309       return $request->user();
311310   });
312311
313 
314 
 312
 313
315314
316315<a name="revoking-mobile-api-tokens"></a>
317316### 撤销令牌
 
349348   Airlock::actingAs(
350349       factory(User::class)->create(),
351350       ['*']
352    );
 351   );
353352