public async Task <IActionResult> AuthenticateWithTwitch([FromBody] AuthenticateWithTwitchModel model) { var result = await userService.Authenticate(model.AccessToken).ConfigureAwait(false); if (result.State == ResultState.Failure) { return(BadRequest(result.FailureReason)); } var bearerToken = GenerateToken(result); return(Ok(result.Data.Map(bearerToken))); }
private async Task <bool> LoginWithTwitchToken() { var twitchAccessToken = await applicationStateManager.GetTwitchAccessToken().ConfigureAwait(false); if (twitchAccessToken == null) { return(false); } var model = new AuthenticateWithTwitchModel { AccessToken = twitchAccessToken }; var response = await apiGateway.Post <UserAuthenticatedModel, AuthenticateWithTwitchModel>(model, "Users", "AuthenticateWithTwitch").ConfigureAwait(false); if (response == null) { return(false); } await FinalizeLogin(response).ConfigureAwait(false); return(true); }