Wyzwanie polega na sprawdzeniu poprawności certyfikatu JWT w tokenie ID. W tej chwili nie ma biblioteki, o której jestem świadomy, że może to zrobić, która nie wymaga .NET 4.5 i dopóki nie pojawi się rozwiązanie do sprawdzania poprawności JWT w .NET 4.0, nie będzie łatwego rozwiązania.
Jeśli jednak masz token dostępu, możesz sprawdzić poprawność wykonywania, używając oauth2.tokeninfo. Aby wykonać podstawowe walidacji za pomocą tokena informacji, można zrobić coś jak następuje:
// Use Tokeninfo to validate the user and the client.
var tokeninfo_request = new Oauth2Service().Tokeninfo();
tokeninfo_request.Access_token = _authState.AccessToken;
var tokeninfo = tokeninfo_request.Fetch();
if (userid == tokeninfo.User_id
&& tokeninfo.Issued_to == CLIENT_ID)
{
// Basic validation succeeded
}
else
{
// The credentials did not match.
}
Informacje wrócił z API Google OAuth2 powie Ci więcej informacji na temat danego tokenu, takie jak identyfikator klienta to zostało wydane zbyt także jako czas wygaśnięcia.
Uwaga Nie powinieneś omijać tokenu dostępowego, ale zamiast tego powinieneś wykonać tę kontrolę po wymianie jednorazowego kodu w celu odzyskania tokena dostępu.
znalazłeś coś? Również chcę zrobić to offline przy użyciu C#, ponieważ czasami serwer Google reaguje bardzo wolno. – shashwat