public async Task <IActionResult> OrderFrame() { var accessToken = await HttpContext.GetTokenAsync(OpenIdConnectDefaults.AuthenticationScheme, OpenIdConnectParameterNames.AccessToken); var discoveryClient = new DiscoveryClient("https://localhost:44313/"); var metadataResponse = await discoveryClient.GetAsync(); var userinfoClient = new UserInfoClient(metadataResponse.UserInfoEndpoint); var response = await userinfoClient.GetAsync(accessToken); if (response.IsError) { throw new Exception("Problem accessing the userInfo endpoint"); } var address = response.Claims.FirstOrDefault(c => c.Type == JwtClaimTypes.Address)?.Value; var orderFrameViewModel = new OrderFrameViewModel(address); return(View(orderFrameViewModel)); }
public async Task <IActionResult> OrderFrame() { var discoveryClient = new DiscoveryClient("https://localhost:44379"); var metaDataResponse = await discoveryClient.GetAsync(); var userInfoClient = new UserInfoClient(metaDataResponse.UserInfoEndpoint); var accessToken = await HttpContext.GetTokenAsync(OpenIdConnectParameterNames.AccessToken); var response = await userInfoClient.GetAsync(accessToken); if (response.IsError) { throw new Exception("Problem Accessing the UserInfo endpoint.", response.Exception); } var address = response.Claims.FirstOrDefault(c => c.Type == "address")?.Value; var model = new OrderFrameViewModel(); model.Address = address; return(View(model)); }