
ต่อจากบทความก่อนหน้า
เราจะนำ JWT Token ไปใช้งานต่อในฝั่งของ Server โดยรับ token ได้จากเจ้าตัว GoogleIdTokenCredential จาก variable idToken ที่มีค่าเป็นชนิด String
ในฝั่งของ Google ก็จะมีไลบรารี่ที่ใช้ยืนยันโทเค็น โดยสนับสนุนเซอวิสภาษา Java, Python, Node.js, PHP บทความนี้ขอยกตัวอย่าง Python 🐍👄
ติดตั้งแพคเกจสองตัวนี้ โดย pip install ${package}
pip install google-auth-oauthlib pip install google-auth-httplib2
จากนั้นให้ import package เข้ามาในไฟล์
from google.oauth2 import id_token from google.auth.transport import requests
และเราจะยืนยัน token ด้วย
idinfo = id_token.verify_oauth2_token(token, requests.Request(), CLIENT_ID)
CLIENT_ID เราต้องเอามาจาก client id ชนิด Web Application นะ โดยวิธีไปเอามาจากบทความที่แล้วซึ่งลิงค์อยู่บนสุด 👍🏻
idinfo จะเป็น payload ที่ Google signin แนบมาให้ในโทเค็นจากฝั่งแอพเราสามารถรับข้อมูลได้ด้วย
iss = idinfo[“iss”] มีชนิดเป็น String บ่งบอกใครเป็นผู้สร้างและ Signed token
azp = idinfo[“azp”] มีชนิดเป็น String บ่งบอกองค์กรที่ได้รับอนุญาตให้ออก token
aud = idinfo[“aud”] มีชนิดเป็น String บ่งบอกออก token นี้สำหรับใคร
sub = idinfo[“sub”] มีชนิดเป็น String เป็น id ของผู้ใช้งาน
name = idinfo[“name”] มีชนิดเป็น String เป็นชื่อของผู้ใช้งาน
picture = idinfo[“picture”] มีชนิดเป็น String เป็นรูปโปรไฟล์ของผู้ใช้งาน
given_name มีชนิดเป็น String เป็นชื่อจริงของผู้ใช้งาน
family_name มีชนิดเป็น String เป็นนามสกุลของผู้ใช้งาน
iat มีชนิดเป็น Int token นี้ถูกสร้างวันไหน
exp มีชนิดเป็น Int token นี้ถูกหมดอายุวันไหน
💡 บางส่วนอาจจะไม่มีค่า หากผู้ใช้ไม่ได้ให้ข้อมูลกับ Google ไว้