我创建了一个名为external.php
的新路线定义。
它是这样的:
Route::group([
'domain' => 'example.org'
], function () {
Route::post('oauth/token')->name('external.oauth.token');
这很好,所以php artisan route:list
包含:
| example.org | POST | oauth/token | external.oauth.token | Closure | |
如果我做route('external.oauth.token')
,我会得到以下结果:
"http://example.org/oauth/token"
所以我的问题是:如何强制使用https前缀的路由安全?
答案 0 :(得分:1)
您可以强制这组路由安全:
Route::group(['domain' => ..., 'https'], function () {
...
});
或者仅是一条路线:
Route::post('oauth/token', ['uses' => ..., 'https'])->name('external.oauth.token');
对于实际的外部URL,您可能只需将此URL添加到配置文件中,然后按名称使用助手即可访问它。
config/urls.php
:
<?php
return [
'external' => [
'oauth' => [
'token' => 'https://example.org/oauth/token',
]
],
];
Helper方法:
function urls($name)
{
return config('urls.'. $name);
}
需要的地方:
$url = urls('external.oauth.token');
您可以根据需要命名方法,配置和键,这只是一个与您使用的名称匹配的想法。