>백엔드 개발 >Golang >Go에서 Google 로그인 ID 토큰을 확인하는 방법은 무엇입니까?

Go에서 Google 로그인 ID 토큰을 확인하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-07 14:18:02992검색

How to Verify Google Sign-In ID Tokens in Go?

Go에서 Google 로그인 ID 토큰 확인

Go 백엔드 서버 프로젝트를 사용하여 Google 로그인 ID 토큰을 확인하는 방법 , Java 및 Python의 Google API 클라이언트 라이브러리 예제에 해당하는 함수를 찾는 문제에 직면했습니다. 라이브러리에는 다양한 언어에 대한 구현이 있지만 Go 문서에는 ID 토큰 확인을 위한 특정 기능이 누락된 것 같습니다.

Go-to 솔루션

다행히도 솔루션은 Go에서는 간단하고 간결합니다. Go용 공식 Google API 클라이언트 라이브러리 사용:

go get google.golang.org/api/idtoken

라이브러리가 설치되면 다음 코드 조각은 한 줄짜리 확인을 제공합니다.

payload, err := idtoken.Validate(context.Background(), tokenString, audience)
if err != nil {
    panic(err)
}
fmt.Print(payload.Claims)

tokenString을 실제 문자열로 바꿉니다. 검증하려는 ID 토큰과 애플리케이션의 클라이언트 ID를 사용하는 대상.

샘플 출력

검증에 성공하면 다음 청구가 포함된 페이로드 객체를 받게 됩니다. :

  • aud: 웹 애플리케이션의 클라이언트 ID
  • azp: Android 애플리케이션의 클라이언트 ID
  • email: 인증된 사용자의 이메일
  • email_verified: True 또는 false
  • exp: 토큰 만료 타임스탬프
  • family_name: 인증된 사용자의 성
  • given_name: 인증된 사용자의 이름
  • iat: 타임스탬프에 발행된 토큰
  • iss: 토큰 발급자(accounts.google.com 또는 https://accounts.google.com)
  • locale: 인증된 사용자의 로캘
  • 이름: 인증된 사용자의 이름
  • picture: 인증된 사용자의 프로필 사진 URL
  • sub: 인증된 사용자의 Google 고유 계정 ID

이 방법을 활용하면 효율적으로 Go 백엔드 프로젝트에서 Google 로그인 ID 토큰을 확인하여 보안 인증 메커니즘을 제공하는 동시에 토큰 정보 엔드포인트 사용과 관련된 지연 시간 및 네트워크 문제를 최소화합니다.

위 내용은 Go에서 Google 로그인 ID 토큰을 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.