- Google API クライアント ライブラリを使用する方法:
Google API クライアント ライブラリは、Google IDトークンを検証するための便利なツールを提供しています。以下は、この方法のコード例です。
using Google.Apis.Auth;
public bool VerifyGoogleIdToken(string idToken)
{
try
{
var payload = GoogleJsonWebSignature.ValidateAsync(idToken).Result;
return payload != null;
}
catch
{
return false;
}
}
上記のコードでは、GoogleJsonWebSignature.ValidateAsync
メソッドを使用して、与えられたIDトークンを検証しています。検証に成功した場合、メソッドはトークンのペイロードを返し、検証に失敗した場合は例外がスローされます。また、payload
がnull
でない場合は、トークンが有効であることを示します。
- JWT (JSON Web Token) ライブラリを使用する方法:
JWTライブラリを使用すると、Google IDトークンを直接解析して検証することができます。以下は、この方法のコード例です。
using System.IdentityModel.Tokens.Jwt;
public bool VerifyGoogleIdToken(string idToken)
{
var tokenHandler = new JwtSecurityTokenHandler();
var validationParameters = new TokenValidationParameters
{
ValidAudience = "your-client-id.apps.googleusercontent.com",
ValidIssuer = "accounts.google.com",
ValidateIssuer = true,
ValidateAudience = true,
ValidateLifetime = true,
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("your-signing-key"))
};
try
{
SecurityToken validatedToken;
tokenHandler.ValidateToken(idToken, validationParameters, out validatedToken);
return true;
}
catch
{
return false;
}
}
上記のコードでは、JwtSecurityTokenHandler.ValidateToken
メソッドを使用してIDトークンを検証しています。TokenValidationParameters
オブジェクトを設定し、有効なクライアントIDと署名キーを指定します。
これらは、C#や.NET Coreを使用してGoogle IDトークンをサーバーサイドで検証する方法の一部です。他にもさまざまな方法がありますが、上記の方法は一般的に使用されるものです。適切な方法を選択し、アプリケーションのニーズに合わせてカスタマイズしてください。