질문이 2개 있지만 먼저 몇 가지 배경 정보를 제공하고 싶습니다.
웹 애플리케이션에서는 nextauth를 사용하여 jwt 토큰을 생성한 다음 이를 golang 서버에 대한 요청에 추가합니다(리소스를 가져오는 데 사용됨).
생성된 토큰은 a256gcm을 통해 생성된 jwe 토큰인 것으로 보입니다. Golang 서버에서 토큰의 유효성을 검사하고 이에 대한 일부 사용자 지정 클레임을 추출하려고 합니다. 즉, 우리는 그것을 해독할 방법을 찾으려고 노력하고 있습니다. go-jose
를 다음과 같이 사용합니다:
우리는 다음을 얻습니다:
panic:square/go-jose:加密原语中的错误
ps: jwe 세대를 위해 nextauth에 전달한 비밀: thisisaverylongtextusedforhashing
golang 서버에서 확인하려는 nextauth의 원본 jwe 토큰 출력: eyjhbgcioijkaxiilcjlbmmioijbmju2r0nnin0..aiiqd7-cu8hu92f8.kx2k99cylyjr1p0xk_1wusvo521t7kyskx-oeutvjcpzbx27hzh0kh2m lbl mc8q4uxglhjl4je3ntp_c6nojga-fahyxyqkrzgjfllu9mc4jvuwyonx6dofq0gl3ux9abtp2t35qly-w1qkh8bdg9x4ib1ym-yvs1w-hpbbmfqr7u7x4ohwih_yjqlwadesyq 6da7a97gssxs b7sh5wwd7iqzdu-uo6eg._pqujcuymuqokid80vjidw 코드> . <code>eyjhbgcioijkaxiilcjlbmmioijbmju2r0nnin0..aiiqd7-cu8hu92f8.kx2k99cylyjr1p0xk_1wusvo521t7kyskx-oeutvjcpzbx27hzh0kh2m lblxqhdmc8q4uxglhjl4je3ntp_c6nojga-fahyxyqkrzgjfllu9mc4jvuwyonx6dofq0gl3ux9abtp2t35qly-w1qkh8bdg9x4ib1ym-yvs1w-hpbbmfqr7u7x4ohwih_yjqlwadesyq 6da7a97gssxs2go6yb7sh5wwd7iqzdu-uo6eg._pqujcuymuqokid80vjidw
。
根据您的意见,我整理了一个可以帮助您解决问题的回复。首先,我使用了 ngopkg.in/go-jose/go-jose.v2
软件包的版本 2,因为(从我所看到的)算法 a256gcm
customclaims
结构中定义的 username
和 password
여러분의 의견을 바탕으로 문제 해결에 도움이 될 수 있는 답변을 정리했습니다. 먼저, 나는 ngopkg.in/go-jose/go-jose.v2
패키지의 버전 2를 사용했습니다. 왜냐하면 (제가 볼 수 있듯이) a256gcm
알고리즘은 패키지가 아니기 때문입니다. 버전 3으로 추정되는 최신 버전의 패키지가 완전히 호환되지 않습니다. 관련 코드를 찾을 수 있습니다:
으아악
위 내용은 Golang에서 JWE 토큰을 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!