コード例 #1
0
        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));
        }