J'utilise Django avec python-social-auth
pour authentifier mes utilisateurs avec Google OAuth2 et utiliser l'API Youtube. Ce que je voudrais accomplir est leur demander de se connecter et autoriser seulement une fois et être capable d'utiliser leurs informations d'identification aussi longtemps que je veux. Ce n'est pas possible car après environ une heure, ils expirent et j'ai besoin que l'utilisateur réautorise mon application pour obtenir de nouvelles informations d'identification.Comment actualiser le jeton Google OAuth2 par programmation
Je suppose que la solution consiste à actualiser les informations d'identification périodiquement, mais je n'ai trouvé aucun guide fiable sur la façon de procéder.
Ma configuration actuelle est la suivante:
SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = 'the_key'
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = 'the_secret'
SOCIAL_AUTH_GOOGLE_OAUTH2_SCOPE = ["https://www.googleapis.com/auth/youtube.readonly", "https://www.googleapis.com/auth/yt-analytics.readonly"]
SOCIAL_AUTH_GOOGLE_OAUTH2_AUTH_EXTRA_ARGUMENTS = {
'access_type': 'offline',
'approval_prompt': 'force'
}
En outre, un utilisateur autorisé a les extras suivants:
{
"access_token": "the_access_token",
"expires": 3600,
"refresh_token": "the_refresh_token",
"token_type": "Bearer"
}
Je l'ai essayé rafraîchissant avec le code ci-dessous, mais étant donné qu'il expire encore je pense ce n'est pas la bonne façon:
social_user = UserSocialAuth.objects.get(...) # Fetch the instance
social_user.refresh_token(load_strategy()) # Returns "None"
vous pouvez augmenter la valeur 'expires' –
définir vous expire la valeur aussi longtemps que vous voulez –
Où je peux définir ma valeur "expire"? Dans la console API de Google ou est-ce une configuration pour PSA? – ihhcarus