public void GetAccessTokenWithInvalidExchangeToken_InvalidAccessTokenReturned() { var exchangeTokenRequest = new DTO.Request.StravaExchangeTokenRequest { client_id = 1234567, approval_prompt = "force", redirect_uri = new System.Uri("localhost:5000/callback"), scope = "read,activity:read_all", response_type = "code" }; var retrievedExchangeToken = sut.GetExchangeToken(exchangeTokenRequest); retrievedExchangeToken.Result.code.Should().NotBeNullOrEmpty(); retrievedExchangeToken.Result.scope.Should().Be(exchangeTokenRequest.scope); retrievedExchangeToken.Result.state.Should().Be(null); var accessTokenRequest = new DTO.Request.StravaAccessTokenRequest { client_id = 1234567, client_secret = "something", code = null, grant_type = "authorization_code" }; var retrievedAccessToken = sut.GetAccessToken(accessTokenRequest); retrievedAccessToken.Result.access_token.Should().BeNull(); retrievedAccessToken.Result.refresh_token.Should().BeNull(); retrievedAccessToken.Result.token_type.Should().BeNull(); retrievedAccessToken.Result.athlete.Should().BeNull(); retrievedAccessToken.Result.expires_at.Should().BeNull(); retrievedAccessToken.Result.expires_in.Should().BeNull(); }
public async Task <DTO.StravaAuthenticationTokenResponse> GetAccessToken([FromQuery] DTO.Request.StravaAccessTokenRequest request) { if (request.code == null || request.client_id == null || request.client_secret == null) { return(new DTO.StravaAuthenticationTokenResponse()); } RandomNumberGenerator rng = new RNGCryptoServiceProvider(); byte[] buffer0 = new byte[100]; byte[] buffer1 = new byte[100]; rng.GetBytes(buffer0); rng.GetBytes(buffer1); await Task.Delay(0); return(new DTO.StravaAuthenticationTokenResponse { access_token = Convert.ToBase64String(buffer0), refresh_token = Convert.ToBase64String(buffer1), expires_at = 543773478, expires_in = 3600, token_type = "Bearer", athlete = new DTO.Athlete { id = 123456789, resource_state = 2 } }); }