>  기사  >  백엔드 개발  >  내 echo jwt 사용자 정의 코드가 작동하지 않는 이유는 무엇입니까?

내 echo jwt 사용자 정의 코드가 작동하지 않는 이유는 무엇입니까?

WBOY
WBOY앞으로
2024-02-08 22:50:341153검색

为什么我的 echo jwt 自定义代码不起作用?

php 편집자 Yuzai는 독자로부터 자주 질문을 받습니다. 일반적인 질문 중 하나는 "내 echo jwt 사용자 정의 코드가 작동하지 않는 이유는 무엇입니까?"입니다. JWT(JSON 웹 토큰)를 사용할 때 때때로 사용자 정의 코드가 작동하지 않는 상황이 발생합니다. 이는 몇 가지 일반적인 문제 때문일 수 있습니다. 이 글에서는 이 질문에 대해 자세히 답변하고 독자들이 자신을 괴롭히는 이 문제를 해결하는 데 도움이 되는 솔루션을 제공할 것입니다. 한 번 보자!

질문 내용

echo jwt를 사용하여 사용자 인증을 하고 있는데, 매뉴얼을 보면서 맞춤 설정했는데 적용이 되지 않습니다. 나는 두 가지를 원합니다.

  1. 베어러 키워드 없이 토큰 체크를 하고 싶어요

  2. 토큰을 찾을 수 없거나 토큰이 유효하지 않은 경우에 적합한 오류 메시지를 반환하고 싶습니다.

원하는 효과를 얻기 위해 위 코드를 어떻게 수정하나요?

저는 이제 막 golang을 배우기 시작했습니다. 어떤 조언이라도 주시면 감사하겠습니다

output := echojwt.JWT(&echojwt.Config{
        SigningKey:  []byte(key.EnvSecretKey),
        TokenLookup: "header:Authorization",
        ErrorHandler: func(c echo.Context, err error) error {
            if err != nil {
                return c.JSON(400, "custom error")
            }
            return nil
        },
    })

Solution

다음 단계를 따르세요.

  1. "bearer" 키워드를 사용하지 않고 토큰 확인: 이를 위해 tokenlookup 값을 "header:authorization"에서 다음으로 변경할 수 있습니다. "쿼리: 토큰". 이렇게 하면 토큰을 쿼리로 전달할 수 있습니다. 헤더 대신 매개변수를 사용하세요.

  2. 상황에 적합한 맞춤 오류 메시지 반환 토큰을 찾을 수 없거나 유효하지 않습니다. 이렇게 하려면 다음을 수행하세요. 오류 처리 기능 수정

예는 다음과 같습니다.

으아악

위 내용은 내 echo jwt 사용자 정의 코드가 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제