토큰은 짧은 기간의 토큰이어야 하며 합리적인 기간이어야 합니다.
저도 이것과 같은 오류를 겪고 있습니다.저의 경우 앱이 Google Cloud Client API를 통해 파일을 업로드하려고 할 때 발생합니다.
POST https://www.googleapis.com/oauth2/v4/token
400 Bad Request
Invalid JWT: Token must be a short-lived token and in a reasonable timeframe
토큰을 로드하는 방법은 서비스 계정 json 파일을 읽고 첨부하는 것입니다.CURLOPT_HTTPHEADERPHP로.지난 한 달 동안 제대로 작동했기 때문에 구글이 허가 방식을 바꾼 것으로 추정됩니다.
이 문제를 해결한 사람이 있습니까?
저는 거의 동시에 같은 문제를 발견했기 때문에 구글의 일반적인 버그를 예상했지만 제 컴퓨터에서 일어난 일은 다음과 같습니다.
raise HttpAccessTokenRefreshError(error_msg, status=resp.status)
oauth2client.client.HttpAccessTokenRefreshError: invalid_grant: Invalid JWT: Token must be a short-lived token and in a reasonable timeframe
(내부 시계의 배터리 결함으로 인해) 코드가 실행된 컴퓨터 시계의 동기화 불량으로 인해 발생했습니다.수동으로 컴퓨터의 내부 시간을 올바른 시간으로 변경했을 때 다시 작동하기 시작했습니다.
이 솔루션은 여기에 언급되었지만 전체 오류 메시지와 함께 언급되지 않았습니다.
저도 같은 문제가 있었는데, 제 서버가 8분 지연된 것을 발견했습니다.NTP 서버를 구성했는데 마법처럼 해결되었습니다.
컨테이너형 앱에서 오류가 발생하여 여기까지 오는 사람들에게,
컨테이너형 앱에서 내 토큰을 사용할 때도 같은 문제가 있었습니다.Docker Desktop(윈도우즈)을 재부팅하는 것이 제게 도움이 되었습니다.
처음으로 문제를 해결하기 전에 몇 주 동안 이 설정을 수행했습니다.
동일한 문제가 발생했습니다. 컴퓨터 시계를 현재 시간으로 수동으로 재설정합니다. 문제가 해결되었습니다.
부랑자를 사용하는 사람들은 상자에 숨을 들이쉬고 실행합니다.sudo service ntp stop && sudo ntpd -gq && sudo service ntp
저는 이것에 대해 몇 시간 동안 고민했습니다.이런 질문도 올렸습니다.제가 다소 분명했어야 할 것을 간과한 것으로 드러났습니다.내 개발 서버는 Linux 가상 시스템입니다.VM의 클럭이 로컬 시스템 클럭보다 8일 늦었습니다.로컬 클럭은 정확했지만 VM이 며칠 지연되었다는 사실을 간과했습니다.바라건대, 이것이 멍한 사람들을 시간을 절약할 수 있기를 바랍니다.
WSL(Windows Subsystem for Linux)을 사용할 때 이 문제가 발생했습니다.모든 WSL 이미지가 과거에 설정된 날짜로 실행되었습니다. https://github.com/microsoft/WSL/issues/4245 은 Windows가 절전 모드에서 다시 시작할 때 문제가 있음을 시사합니다.
WSL을 다시 했습니다.wsl --shutdown
구글 클라우드 빅쿼리 API에 접속하려고 할 때도 비슷한 문제가 있었습니다.내 시스템 시계를 조정하고 윈도우 10이 시간과 시간대를 자동으로 설정할 수 있도록 한 것이 문제를 해결했습니다.
저도 비슷한 문제가 있었고, 제 일은 아래 오류로 계속 실패하고 있었습니다.
File "/usr/local/lib/python2.7/site-packages/google/oauth2/_client.py", line 59, in _handle_error_response
error_details, response_body)
google.auth.exceptions.RefreshError: ('invalid_grant: Invalid JWT: Token must be a short-lived token (60 minutes) and in a reasonable timeframe. Check your iat and exp values and use a clock with skew to account for clock differences between systems.', u'{\n "error" : "invalid_grant",\n "error_description" : "Invalid JWT: Token must be a short-lived token (60 minutes) and in a reasonable timeframe. Check your iat and exp values and use a clock with skew to account for clock differences between systems."\n}')
2018-05-1713:01:01: API CALL iOS intra day: module failed.
실제 근본 원인은 시스템 시간이 서버와 동기화되지 않았기 때문입니다.시간을 동기화한 ntp 서버를 새로 고쳤고 문제가 해결되었습니다.
당연하게, .exp된 시간 에 발생합니다.iat.
언급URL : https://stackoverflow.com/questions/36189612/token-must-be-a-short-lived-token-and-in-a-reasonable-timeframe
'programing' 카테고리의 다른 글
| 기본값 '지금'으로 타임스탬프 열을 만드는 방법은 무엇입니까? (0) | 2023.09.03 |
|---|---|
| html 페이지의 모든 링크를 가져오시겠습니까? (0) | 2023.09.03 |
| C++에서 문자열 상수에서 'char*'(으)로 더 이상 사용되지 않는 변환입니다. (0) | 2023.09.03 |
| PowerShell 보안 및 파일 액세스 문제를 이해하는 데 도움이 필요합니다. (0) | 2023.09.03 |
| NaN(판다)에서 필터링하는 방법은 무엇입니까? (0) | 2023.09.03 |