强制 Route::group(['domain'=>'external.com']) 到 return https 前缀路由
Force Route::group(['domain'=>'external.com']) to return https-prefixed routes
我创建了一个名为 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"
所以我的问题是:如何强制路由为 secure/with https 前缀?
您可以强制这组路由是安全的:
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',
]
],
];
辅助方法:
function urls($name)
{
return config('urls.'. $name);
}
需要的地方:
$url = urls('external.oauth.token');
您可以根据需要命名方法、配置和键,这只是一个与您使用的名称相匹配的想法。
我创建了一个名为 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"
所以我的问题是:如何强制路由为 secure/with https 前缀?
您可以强制这组路由是安全的:
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',
]
],
];
辅助方法:
function urls($name)
{
return config('urls.'. $name);
}
需要的地方:
$url = urls('external.oauth.token');
您可以根据需要命名方法、配置和键,这只是一个与您使用的名称相匹配的想法。