Example #1
0
        public async Task <User> GetUser()
        {
            User user = httpContextAccessor.HttpContext.Session.GetUser();

            if (user != null)
            {
                return(user);
            }

            string accessToken = await tokenAcquisition.GetAccessTokenOnBehalfOfUser(httpContextAccessor.HttpContext, new[] { Constants.ScopeUserRead });

            var userInformation = await graphApiOperations.GetUserInformation(accessToken) as JObject;

            user = userInformation.ToObject <User>();

            User dbUser = db.Users.Find(user.Id);

            if (dbUser == null)
            {
                db.Users.Add(user);
                db.SaveChanges();
            }
            else
            {
                user = dbUser;
            }

            httpContextAccessor.HttpContext.Session.Set("User", user);

            return(user);
        }
        public async Task <IActionResult> Profile()
        {
            var accessToken =
                await tokenAcquisition.GetAccessTokenForUserAsync(new[] { WebApp_OpenIDConnect_DotNet.Infrastructure.Constants.ScopeUserRead });

            var me = await graphApiOperations.GetUserInformation(accessToken);

            var photo = await graphApiOperations.GetPhotoAsBase64Async(accessToken);

            ViewData["Me"]    = me;
            ViewData["Photo"] = photo;

            return(View());
        }
        public async Task <IActionResult> Profile()
        {
            var accessToken =
                await tokenAcquisition.GetAccessTokenOnBehalfOfUserAsync(new[] { Constants.ScopeUserRead });

            var me = await graphApiOperations.GetUserInformation(accessToken);

            var photo = await graphApiOperations.GetPhotoAsBase64Async(accessToken);

            ViewData["Me"]    = me;
            ViewData["Photo"] = photo;

            return(View());
        }