Implements automatic refresh token handling for Google authentication to maintain access to the Google People API without requiring a logout and login.
Authentication Updates: Modifies src/OpenAIDemo.Web/Startup/ServiceExtensions.cs to request a refresh token during Google authentication and stores the refresh token in the user's database record if available.
Google API Client Enhancements: Updates src/OpenAIDemo.Web/Library/GoogleApiClient.cs with a method to refresh the access token using the stored refresh token and adjusts existing methods to utilize the refreshed token if the current token is expired.
Configuration Adjustments: Adds a property to src/OpenAIDemo.Web/Startup/Config/GoogleOptions.cs for storing the Google OAuth refresh token endpoint URL.
Database Schema Extension: Introduces a new property in src/OpenAIDemo.Web/Entities/User.cs to store the refresh token for each user.
Related to #48
Implements automatic refresh token handling for Google authentication to maintain access to the Google People API without requiring a logout and login.
src/OpenAIDemo.Web/Startup/ServiceExtensions.cs
to request a refresh token during Google authentication and stores the refresh token in the user's database record if available.src/OpenAIDemo.Web/Library/GoogleApiClient.cs
with a method to refresh the access token using the stored refresh token and adjusts existing methods to utilize the refreshed token if the current token is expired.src/OpenAIDemo.Web/Startup/Config/GoogleOptions.cs
for storing the Google OAuth refresh token endpoint URL.src/OpenAIDemo.Web/Entities/User.cs
to store the refresh token for each user.For more details, open the Copilot Workspace session.