ต่อจากบทความก่อนหน้า

เราจะนำ 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 นี้ถูกหมดอายุวันไหน
สำหรับภาษาอื่น

Discussion