改进 登录请求
This commit is contained in:
parent
0fa462b130
commit
f638b2d0c8
@ -19,6 +19,18 @@ public function store(Request $request): JsonResponse
|
|||||||
'return_url' => 'nullable|url',
|
'return_url' => 'nullable|url',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
if ($request->filled('return_url') && $request->hasHeader('referer')) {
|
||||||
|
// 如果有 referer,检查是否和来源域名一致
|
||||||
|
$referer = parse_url($request->header('referer'), PHP_URL_HOST);
|
||||||
|
|
||||||
|
// return url 的域名
|
||||||
|
$returnUrl = parse_url($request->input('return_url'), PHP_URL_HOST);
|
||||||
|
|
||||||
|
if ($referer !== $returnUrl) {
|
||||||
|
return $this->error('来源域名不匹配。');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$token = Str::random(128);
|
$token = Str::random(128);
|
||||||
|
|
||||||
$data = [
|
$data = [
|
||||||
|
@ -174,12 +174,7 @@ public function storeAuthRequest(Request $request): RedirectResponse|View
|
|||||||
Cache::put('auth_request:'.$request->input('token'), $data, 60);
|
Cache::put('auth_request:'.$request->input('token'), $data, 60);
|
||||||
|
|
||||||
if (isset($data['meta']['return_url']) && $data['meta']['return_url']) {
|
if (isset($data['meta']['return_url']) && $data['meta']['return_url']) {
|
||||||
session()->put('callback', $data['meta']['return_url']);
|
return redirect()->to($data['meta']['return_url'].'?auth_request='.$request->input('token'));
|
||||||
|
|
||||||
return view('confirm_redirect', [
|
|
||||||
'token' => $data['meta']['token'],
|
|
||||||
'callback' => $data['meta']['return_url'],
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect()->route('index')->with('success', '登录请求已确认。');
|
return redirect()->route('index')->with('success', '登录请求已确认。');
|
||||||
|
Loading…
Reference in New Issue
Block a user