Beispiel #1
0
 protected async void Page_Init(object sender, EventArgs e)
 {
     var model = new LG.Owin.Identity.Models.IdentityUser()
     {
         RID = Convert.ToInt64(1001480),
         Name = "Manny",
         AccessToken = "4234521342134",
         TokenID = "3242334234"
     };
     UserContext.IsAuthenticated = true;
     UserContext.Identity = model;
 }
Beispiel #2
0
        //ToDo: Need to update Populating the AppContextUser.
        internal static async Task <bool> InitSessionContext()
        {
            var claimsPrincipal = Thread.CurrentPrincipal
                                  as ClaimsPrincipal;

            var identity = claimsPrincipal?.Identity
                           as ClaimsIdentity;

            var memberRole = claimsPrincipal?.Claims.FirstOrDefault(
                x => x.Type == "role");

            if (memberRole?.Value != null)
            {
                if (memberRole?.Value != "Primary Member")
                {
                    IdentitySignOutAndChallenge();
                    return(false);
                }
            }

            if (identity != null && identity.IsAuthenticated)
            {
                var roles = identity.Claims.Select(
                    x => x.Type == "role");

                var rid = identity.Claims.FirstOrDefault(
                    x => x.Type == "RID");

                var name = identity.Claims.FirstOrDefault(
                    x => x.Type == "name");

                var id_token = identity.Claims.FirstOrDefault(
                    x => x.Type == "id_token");

                var access_token = identity.Claims.FirstOrDefault(
                    x => x.Type == "access_token");

                var expires_at = identity.Claims.FirstOrDefault(
                    x => x.Type == "expires_at");

                if (rid != null &&
                    access_token != null && id_token != null && expires_at != null)
                {
                    var model = new LG.Owin.Identity.Models.IdentityUser()
                    {
                        RID            = Convert.ToInt64(rid.Value),
                        Name           = name != null ? name.Value : "",
                        AccessToken    = access_token.Value,
                        TokenID        = id_token.Value,
                        ExpirationDate = Convert.ToDateTime(expires_at.Value)
                    };
                    var e = roles as List <Claim>;
                    if (e != null)
                    {
                        foreach (var role in e)
                        {
                            if (role.Value == "Primary Member")
                            {
                                model.IsPrimaryMember = true;
                            }
                            if (role.Value == "Account Manager")
                            {
                                model.IsAccountManager = true;
                            }
                        }
                    }
                    UserContext.IsAuthenticated = true;
                    UserContext.Identity        = model;
                }
            }
            else
            {
                if (SignOutIdentity())
                {
                    ChallengeIdentity();
                }
            }
            //await Instance.LoadAuthenticateUser(
            //    Convert.ToInt64(claimRID.Value));

            //if (!Instance.IsAuthenticated || !string.IsNullOrEmpty(
            //    Instance.AuthTokenJsonString))
            //    return false;

            //var authPayload = new IdentityAuthPackage()
            //{
            //    AuthGuid = Guid.NewGuid(),
            //    RolodexItemID = Instance.RolodexItemID,
            //    DateCreated = DateTime.Now,
            //    IsAuthenticated = true,
            //    DateExpiry = DateTime.Now.AddMinutes(15),
            //    Name = new NameEntity()
            //    {
            //        FirstName = Instance.Info.MedicalPractitioner.PersonInfo.FName,
            //        LastName = Instance.Info.MedicalPractitioner.PersonInfo.LName,
            //        PrintedName = Instance.Info.MedicalPractitioner.PrintedName
            //    }
            //};
            //Instance.AuthTokenJsonString
            //    = Newtonsoft.Json.JsonConvert.SerializeObject(authPayload);
            await GetWaiter();

            HttpContext.Current.Response.Redirect("Default.aspx");
            return(true);
        }
Beispiel #3
0
        //ToDo: Need to update Populating the AppContextUser.
        internal static async Task<bool> InitSessionContext()
        {

            var claimsPrincipal = Thread.CurrentPrincipal
                as ClaimsPrincipal;

            var identity = claimsPrincipal?.Identity
                as ClaimsIdentity;

            var memberRole = claimsPrincipal?.Claims.FirstOrDefault(
                x => x.Type == "role");

            if (memberRole?.Value != null)
            {
                if (memberRole?.Value != "Primary Member")
                {
                    IdentitySignOutAndChallenge();
                    return false;
                }
            }

            if (identity != null && identity.IsAuthenticated)
            {
                var roles = identity.Claims.Select(
                    x => x.Type == "role");

                var rid = identity.Claims.FirstOrDefault(
                    x => x.Type == "RID");

                var name = identity.Claims.FirstOrDefault(
                    x => x.Type == "name");

                var id_token = identity.Claims.FirstOrDefault(
                    x => x.Type == "id_token");

                var access_token = identity.Claims.FirstOrDefault(
                    x => x.Type == "access_token");

                var expires_at = identity.Claims.FirstOrDefault(
                    x => x.Type == "expires_at");

                if (rid != null
                    && access_token != null && id_token != null && expires_at != null)
                {
                    var model = new LG.Owin.Identity.Models.IdentityUser()
                    {
                        RID = Convert.ToInt64(rid.Value),
                        Name = name != null ? name.Value : "",
                        AccessToken = access_token.Value,
                        TokenID = id_token.Value,
                        ExpirationDate = Convert.ToDateTime(expires_at.Value)
                    };
                    var e = roles as List<Claim>;
                    if (e != null)
                        foreach (var role in e)
                        {
                            if (role.Value == "Primary Member")
                            {
                                model.IsPrimaryMember = true;
                            }
                            if (role.Value == "Account Manager")
                            {
                                model.IsAccountManager = true;
                            }
                        }
                    UserContext.IsAuthenticated = true;
                    UserContext.Identity = model;
                }
            }
            else
            {
                if (SignOutIdentity())
                {
                     ChallengeIdentity();
                }
            }
            //await Instance.LoadAuthenticateUser(
            //    Convert.ToInt64(claimRID.Value));

            //if (!Instance.IsAuthenticated || !string.IsNullOrEmpty(
            //    Instance.AuthTokenJsonString))
            //    return false;

            //var authPayload = new IdentityAuthPackage()
            //{
            //    AuthGuid = Guid.NewGuid(),
            //    RolodexItemID = Instance.RolodexItemID,
            //    DateCreated = DateTime.Now,
            //    IsAuthenticated = true,
            //    DateExpiry = DateTime.Now.AddMinutes(15),
            //    Name = new NameEntity()
            //    {
            //        FirstName = Instance.Info.MedicalPractitioner.PersonInfo.FName,
            //        LastName = Instance.Info.MedicalPractitioner.PersonInfo.LName,
            //        PrintedName = Instance.Info.MedicalPractitioner.PrintedName
            //    }
            //};
            //Instance.AuthTokenJsonString
            //    = Newtonsoft.Json.JsonConvert.SerializeObject(authPayload);
            await GetWaiter();
            HttpContext.Current.Response.Redirect("Default.aspx");
            return true;
        }