public async Task <ResultModel> ApplyToken(ApplyTokenDto applyTokenDto) { var client = new HttpClient(); //var disco = await client.GetDiscoveryDocumentAsync(_configuration.GetSection("IdentityAddress").Value); //disco.Policy = new DiscoveryPolicy { RequireHttps = false }; var disco = await client.GetDiscoveryDocumentAsync(new DiscoveryDocumentRequest { Address = _configuration.GetSection("IdentityAddress").Value, Policy = new DiscoveryPolicy { RequireHttps = false } }); if (disco.IsError) { return(new ResultModel(ResultCode.Fail, disco.Error)); } var tokenResponse = await client.RequestPasswordTokenAsync(new PasswordTokenRequest { Address = disco.TokenEndpoint, ClientId = applyTokenDto.ClientId, ClientSecret = applyTokenDto.ClientSerect, GrantType = "password", UserName = applyTokenDto.Username, Password = applyTokenDto.Password }); if (tokenResponse.IsError) { return(new ResultModel(ResultCode.Fail, tokenResponse.Error)); } var tokenJson = tokenResponse.Json.ToString(); var tokenModel = JsonConvert.DeserializeObject <TokenResultDto>(tokenJson); return(new ResultModel(ResultCode.Success, tokenModel)); }
public async Task <IActionResult> ApplyToken([FromBody] ApplyTokenDto dto) { return(Json(await _userService.ApplyToken(dto))); }