From 2883804d4d5383882b4cf55467b061c0cca9b6eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E8=BF=90=E5=AE=B6?= Date: Thu, 23 Jan 2025 16:11:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0google=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/src/social/google.rs | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/library/src/social/google.rs b/library/src/social/google.rs index e35c8b4..801168c 100644 --- a/library/src/social/google.rs +++ b/library/src/social/google.rs @@ -28,9 +28,30 @@ pub struct GoogleSocial { google_public_keys: Arc>, } -/// 假设GOOGLE_PUBLIC_CERT_URL是Google提供的公钥URL +/// 说明: +/// 1. 获取 Google 的公钥证书,用于验证 JWT token 的签名 +/// 2. 证书会定期轮换,需要定期获取最新的证书 +/// 用途: +/// - JWT token 签名验证 +/// - OAuth2 安全验证 +/// - 确保 token 的真实性和完整性 +/// 示例响应: +/// ``` +/// { +/// "keys": [ +/// { +/// "kty": "RSA", // 密钥类型 +/// "alg": "RS256", // 算法 +/// "use": "sig", // 用途(签名) +/// "kid": "certificate_id", // 密钥ID +/// "n": "public_key_modulus", // 公钥模数 +/// "e": "AQAB" // 公钥指数 +/// }, +/// // 可能有多个证书 +/// ] +/// } +/// ``` const GOOGLE_PUBLIC_CERT_URL: &str = "https://www.googleapis.com/oauth2/v3/certs"; - /// 用途:授权端点 /// - 用户登录和授权的入口 /// - 获取用户同意访问特定范围的权限