내 Laravel + GatsbyJS 앱은 로그인 관리를 위해 auth:sanctum을 사용하고 다른 사용자에게는 서버 500 오류가 발생하지만 내 로그인은 제대로 작동합니다.
<p>그래서 저는 개발을 돕고 있는 앱(백엔드에 laravel을 사용하고 프론트엔드에 GatsbyJS를 사용)을 가지고 있습니다.
한 달 전에는 모든 사용자가 문제 없이 로그인할 수 있었습니다. 하지만 이제 모든 사용자가 프로덕션 환경에 로그인할 수 없다는 것을 알았습니다(나 제외). </p>
<p>login.jsx 파일</p>
<pre class="brush:php;toolbar:false;">const formChanged = async (e) =>
setError(false);
e.preventDefault();
setSubmitting(true);
loginData = getValues();
응답 = 로그인 대기(loginData.email, loginData.password);
setSubmitting(false);
if (응답.오류) {
setError(true);
setValue('비밀번호', '');
} 또 다른 {
탐색('/app/idm/');
}
};</pre>
<p>let response = wait login()은 api.js 파일에 있는 login이라는 메소드를 호출합니다</p>
<p>api.js 파일</p>
<pre class="brush:php;toolbar:false;">// 애플리케이션에 로그인
const 로그인 내보내기 = 비동기(이메일, 비밀번호) =>
// 요청 보내기
응답하자 = wait makeRequest('post', '/login', { 이메일, 비밀번호 });
// 오류가 없으면 토큰과 사용자를 설정합니다.
if (!response.error && isBrowser()) {
localStorage.setItem('idm_token', response.data.access_token);
let my_user = JSON.stringify(기다립니다(response.data.access_token));
localStorage.setItem('idm_user', my_user);
}
응답 반환;
};</pre>
<p>이메일과 비밀번호를 전달하면 이 데이터가 확인되며 이 시점에서 모든 사용자는 문제 없이 토큰을 생성할 수 있습니다. </p>
<p> (참고용으로 성소 토큰을 생성하는 코드)
api.php 파일</p>
<pre class="brush:php;toolbar:false;">Route::post('/login', function(Request $request) {
$login = $request->only('이메일', '비밀번호');
if (Auth::attempt($login)) {
$user = 사용자::where('email', $request['email'])->firstOrFail();
$token = $user->createToken('auth_token')->plainTextToken;
응답()->json([
'액세스 토큰' =>
'token_type' => '무기명'
]);
}
return response()->json(["message" => "인증 실패"], 401);
})->name('api.login');</pre>
<p>문제는 현재 auth:sanctum으로 보호되는 경로에 액세스하는 것 같습니다. 다시 말하지만 모든 사용자는 토큰을 생성할 수 있지만 내 로그인 정보만 경로에 액세스할 수 있습니다.
다른 모든 사용자에게는 서버 500 오류가 발생합니다.</p>
<p>my_user 세부정보를 가져오려고 할 때 api.js 파일에서 이런 일이 발생합니다. </p>
<pre class="brush:php;toolbar:false;">let my_user = JSON.stringify(await me(response.data.access_token));</pre>
<p>제가 겪고 있는 또 다른 문제는 프로덕션 환경의 laravel 애플리케이션이 몇 달 전에 오류 출력을 중단했고 프로덕션 환경의 오류 로깅 문제를 해결하는 방법을 알 수 없다는 것입니다(개발에서는 오류 로깅이 괜찮습니다). </p>
<p>자세한 내용이 부족해서 죄송합니다. 저는 이 모든 것이 매우 낯설고, 팁이나 시도해 볼 만한 것이 있으면 정말 감사하겠습니다. 답변을 얻지 못하더라도 저는 그 이상입니다. 이 문제를 배우고 해결하기 위해 노력할 의향이 있습니다. </p>