드디어 Firebase Admin SDK Go 등장!
Introducing Firebase Admin SDK for Go
설치
다음 명령을 사용하여 설치할 수 있습니다.go get -u firebase.google.com/go
서비스 계정 키 만들기
먼저 GCP의 서비스 계정을 사용하여 인증합니다.
https://console.cloud.google.com/iam-admin/serviceaccounts/project?project={projectID}&authuser=0 키를 만듭니다.
다운로드된 키는 서비스_account.json으로 저장되었습니다.
설치하다
다음 코드를 통해 키 파일을 읽고 Firebase를 설정할 수 있습니다.import (
firebase "firebase.google.com/go"
"google.golang.org/api/option"
)
opt := option.WithCredentialsFile("service_account.json")
app, err := firebase.NewApp(context.Background(), nil, opt)
사용자 지정 태그 만들기
auth#Client.CustomToken를 사용하여 사용자 정의 영패를 만들 수 있습니다.
사용자 지정 태그는 자신의 인증 시스템에서 사용자를 관리하는 구조이다.자세한 내용은 문서 을 참조하십시오.auth, err := app.Auth()
if err != nil {
panic(err)
}
tok, err := auth.CustomToken("some-id")
if err != nil {
panic(err)
}
log.Printf("tok = %v", tok)
또한 auth#Client.CustomTokenWithClaims 사용자 정의 영패에 모든 값을 포함하고 이 값을 사용하여 실시간 데이터베이스와 보안 규칙을 저장할 수 있습니다.tok, err = auth.CustomTokenWithClaims("some-id", map[string]interface{}{
"premium": true, // プランの実装とかに使える
})
if err != nil {
panic(err)
}
log.Printf("tok = %v", tok)
확인 표시
auth#Client.VerifyIDToken 영패 검증에 사용.여기서 검증할 영패는 클라이언트 SDKfirebase.User#getIdToken가 발행한 영패에 대한 검증이기 때문에 방금 만든 사용자 정의 영패를 검증할 수 없습니다.// ftok is user.getIdToken() response
ftok := ``
t, err := auth.VerifyIDToken(ftok)
if err != nil {
panic(err)
}
log.Printf("t = %#v", t)
전체 코드
basic.gopackage main
import (
"context"
"log"
firebase "firebase.google.com/go"
"google.golang.org/api/option"
)
func main() {
opt := option.WithCredentialsFile("../service_account.json")
app, err := firebase.NewApp(context.Background(), nil, opt)
if err != nil {
panic(err)
}
auth, err := app.Auth()
if err != nil {
panic(err)
}
tok, err := auth.CustomToken("some-id")
if err != nil {
panic(err)
}
log.Printf("tok = %v", tok)
tok, err = auth.CustomTokenWithClaims("some-id", map[string]interface{}{
"premium": true,
})
if err != nil {
panic(err)
}
log.Printf("tok = %v", tok)
// ftok is user.getIdToken() response
ftok := ``
t, err := auth.VerifyIDToken(ftok)
if err != nil {
panic(err)
}
log.Printf("t = %#v", t)
}
총결산
현재 할 수 있는 일은 사용자 정의 영패를 만들고 Firebase 영패를 검증하는 것뿐이며, 앞으로 스타를 더해 따뜻한 시선으로 지켜줄 것을 기대하고 있다.
Reference
이 문제에 관하여(드디어 Firebase Admin SDK Go 등장!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/koki_cheese/items/2d111b2b074bfa697776
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
go get -u firebase.google.com/go
먼저 GCP의 서비스 계정을 사용하여 인증합니다.
https://console.cloud.google.com/iam-admin/serviceaccounts/project?project={projectID}&authuser=0 키를 만듭니다.
다운로드된 키는 서비스_account.json으로 저장되었습니다.
설치하다
다음 코드를 통해 키 파일을 읽고 Firebase를 설정할 수 있습니다.import (
firebase "firebase.google.com/go"
"google.golang.org/api/option"
)
opt := option.WithCredentialsFile("service_account.json")
app, err := firebase.NewApp(context.Background(), nil, opt)
사용자 지정 태그 만들기
auth#Client.CustomToken를 사용하여 사용자 정의 영패를 만들 수 있습니다.
사용자 지정 태그는 자신의 인증 시스템에서 사용자를 관리하는 구조이다.자세한 내용은 문서 을 참조하십시오.auth, err := app.Auth()
if err != nil {
panic(err)
}
tok, err := auth.CustomToken("some-id")
if err != nil {
panic(err)
}
log.Printf("tok = %v", tok)
또한 auth#Client.CustomTokenWithClaims 사용자 정의 영패에 모든 값을 포함하고 이 값을 사용하여 실시간 데이터베이스와 보안 규칙을 저장할 수 있습니다.tok, err = auth.CustomTokenWithClaims("some-id", map[string]interface{}{
"premium": true, // プランの実装とかに使える
})
if err != nil {
panic(err)
}
log.Printf("tok = %v", tok)
확인 표시
auth#Client.VerifyIDToken 영패 검증에 사용.여기서 검증할 영패는 클라이언트 SDKfirebase.User#getIdToken가 발행한 영패에 대한 검증이기 때문에 방금 만든 사용자 정의 영패를 검증할 수 없습니다.// ftok is user.getIdToken() response
ftok := ``
t, err := auth.VerifyIDToken(ftok)
if err != nil {
panic(err)
}
log.Printf("t = %#v", t)
전체 코드
basic.gopackage main
import (
"context"
"log"
firebase "firebase.google.com/go"
"google.golang.org/api/option"
)
func main() {
opt := option.WithCredentialsFile("../service_account.json")
app, err := firebase.NewApp(context.Background(), nil, opt)
if err != nil {
panic(err)
}
auth, err := app.Auth()
if err != nil {
panic(err)
}
tok, err := auth.CustomToken("some-id")
if err != nil {
panic(err)
}
log.Printf("tok = %v", tok)
tok, err = auth.CustomTokenWithClaims("some-id", map[string]interface{}{
"premium": true,
})
if err != nil {
panic(err)
}
log.Printf("tok = %v", tok)
// ftok is user.getIdToken() response
ftok := ``
t, err := auth.VerifyIDToken(ftok)
if err != nil {
panic(err)
}
log.Printf("t = %#v", t)
}
총결산
현재 할 수 있는 일은 사용자 정의 영패를 만들고 Firebase 영패를 검증하는 것뿐이며, 앞으로 스타를 더해 따뜻한 시선으로 지켜줄 것을 기대하고 있다.
Reference
이 문제에 관하여(드디어 Firebase Admin SDK Go 등장!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/koki_cheese/items/2d111b2b074bfa697776
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import (
firebase "firebase.google.com/go"
"google.golang.org/api/option"
)
opt := option.WithCredentialsFile("service_account.json")
app, err := firebase.NewApp(context.Background(), nil, opt)
auth#Client.CustomToken를 사용하여 사용자 정의 영패를 만들 수 있습니다.
사용자 지정 태그는 자신의 인증 시스템에서 사용자를 관리하는 구조이다.자세한 내용은 문서 을 참조하십시오.
auth, err := app.Auth()
if err != nil {
panic(err)
}
tok, err := auth.CustomToken("some-id")
if err != nil {
panic(err)
}
log.Printf("tok = %v", tok)
또한 auth#Client.CustomTokenWithClaims 사용자 정의 영패에 모든 값을 포함하고 이 값을 사용하여 실시간 데이터베이스와 보안 규칙을 저장할 수 있습니다.tok, err = auth.CustomTokenWithClaims("some-id", map[string]interface{}{
"premium": true, // プランの実装とかに使える
})
if err != nil {
panic(err)
}
log.Printf("tok = %v", tok)
확인 표시
auth#Client.VerifyIDToken 영패 검증에 사용.여기서 검증할 영패는 클라이언트 SDKfirebase.User#getIdToken가 발행한 영패에 대한 검증이기 때문에 방금 만든 사용자 정의 영패를 검증할 수 없습니다.// ftok is user.getIdToken() response
ftok := ``
t, err := auth.VerifyIDToken(ftok)
if err != nil {
panic(err)
}
log.Printf("t = %#v", t)
전체 코드
basic.gopackage main
import (
"context"
"log"
firebase "firebase.google.com/go"
"google.golang.org/api/option"
)
func main() {
opt := option.WithCredentialsFile("../service_account.json")
app, err := firebase.NewApp(context.Background(), nil, opt)
if err != nil {
panic(err)
}
auth, err := app.Auth()
if err != nil {
panic(err)
}
tok, err := auth.CustomToken("some-id")
if err != nil {
panic(err)
}
log.Printf("tok = %v", tok)
tok, err = auth.CustomTokenWithClaims("some-id", map[string]interface{}{
"premium": true,
})
if err != nil {
panic(err)
}
log.Printf("tok = %v", tok)
// ftok is user.getIdToken() response
ftok := ``
t, err := auth.VerifyIDToken(ftok)
if err != nil {
panic(err)
}
log.Printf("t = %#v", t)
}
총결산
현재 할 수 있는 일은 사용자 정의 영패를 만들고 Firebase 영패를 검증하는 것뿐이며, 앞으로 스타를 더해 따뜻한 시선으로 지켜줄 것을 기대하고 있다.
Reference
이 문제에 관하여(드디어 Firebase Admin SDK Go 등장!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/koki_cheese/items/2d111b2b074bfa697776
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
// ftok is user.getIdToken() response
ftok := ``
t, err := auth.VerifyIDToken(ftok)
if err != nil {
panic(err)
}
log.Printf("t = %#v", t)
basic.go
package main
import (
"context"
"log"
firebase "firebase.google.com/go"
"google.golang.org/api/option"
)
func main() {
opt := option.WithCredentialsFile("../service_account.json")
app, err := firebase.NewApp(context.Background(), nil, opt)
if err != nil {
panic(err)
}
auth, err := app.Auth()
if err != nil {
panic(err)
}
tok, err := auth.CustomToken("some-id")
if err != nil {
panic(err)
}
log.Printf("tok = %v", tok)
tok, err = auth.CustomTokenWithClaims("some-id", map[string]interface{}{
"premium": true,
})
if err != nil {
panic(err)
}
log.Printf("tok = %v", tok)
// ftok is user.getIdToken() response
ftok := ``
t, err := auth.VerifyIDToken(ftok)
if err != nil {
panic(err)
}
log.Printf("t = %#v", t)
}
총결산
현재 할 수 있는 일은 사용자 정의 영패를 만들고 Firebase 영패를 검증하는 것뿐이며, 앞으로 스타를 더해 따뜻한 시선으로 지켜줄 것을 기대하고 있다.
Reference
이 문제에 관하여(드디어 Firebase Admin SDK Go 등장!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/koki_cheese/items/2d111b2b074bfa697776
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(드디어 Firebase Admin SDK Go 등장!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/koki_cheese/items/2d111b2b074bfa697776텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)