usingUpwork;varconfig=newUpworkOAuthConfig(Environment.GetEnvironmentVariable("UPWORK_CLIENT_ID")??thrownewInvalidOperationException("UPWORK_CLIENT_ID is required."),Environment.GetEnvironmentVariable("UPWORK_CLIENT_SECRET")??thrownewInvalidOperationException("UPWORK_CLIENT_SECRET is required."),newUri(Environment.GetEnvironmentVariable("UPWORK_REDIRECT_URI")??thrownewInvalidOperationException("UPWORK_REDIRECT_URI is required.")));usingvaroauth=newUpworkOAuthClient(config);varauthorizationUrl=oauth.CreateAuthorizationUri(state:Environment.GetEnvironmentVariable("UPWORK_OAUTH_STATE"));
After the user authorizes the app and your backend receives the authorization code:
123
vartoken=awaitoauth.ExchangeAuthorizationCodeAsync(Environment.GetEnvironmentVariable("UPWORK_AUTHORIZATION_CODE")??thrownewInvalidOperationException("UPWORK_AUTHORIZATION_CODE is required."));
Refresh Token
123
varrefreshed=awaitoauth.RefreshTokenAsync(Environment.GetEnvironmentVariable("UPWORK_REFRESH_TOKEN")??thrownewInvalidOperationException("UPWORK_REFRESH_TOKEN is required."));