public override Task TokenEndpoint(OAuthTokenEndpointContext context) { foreach (KeyValuePair <string, string> property in context.Properties.Dictionary) { context.AdditionalResponseParameters.Add(property.Key, property.Value); } /* Début : i Added Additional Parameters to be shown after login in Json Response ( in Postman Client ) */ var db = new GatewayPCIPINContext(); var users_list = db.AspNetUsers.ToList(); var user_id_Identity = context.Identity.GetUserId(); var organanization_id = (from u in users_list where u.Id == user_id_Identity select u.Organization_Id).Single(); var isBlocked = (from u in users_list where u.Id == user_id_Identity select u.isBlocked).Single(); //var organanization_id = db.AspNetUsers.Select(u => u.Organization_Id).Where(u => user_id_Identity ).Single(); context.AdditionalResponseParameters.Add("userID", context.Identity.GetUserId()); // added by me to be shown in json response context.AdditionalResponseParameters.Add("organizationID", organanization_id); // added by me to be shown in json response context.AdditionalResponseParameters.Add("isBlocked", isBlocked); // added by me to be shown in json response //get_auth_token = context.Options.AccessTokenProvider.ToString(); /* Fin : i Added Additional Parameters to be shown after login in Json Response ( in Postman Client ) */ return(Task.FromResult <object>(null)); }
public DatabaseFactory() { dataContext = new GatewayPCIPINContext(); }
public AuthenticationRepository() { _ctx = new GatewayPCIPINContext(); _userManager = new UserManager <IdentityUser>(new UserStore <IdentityUser>(_ctx)); }
public UnitOfWork(IDatabaseFactory dbFactory) { this.dbFactory = dbFactory; dataContext = dbFactory.DataContext; }
/*public override async Task ValidateClientAuthentication(OAuthValidateClientAuthenticationContext context) * { * context.Validated(); * }*/ public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" }); // var identity = new ClaimsIdentity(context.Options.AuthenticationType); using (AuthenticationRepository _repo = new AuthenticationRepository()) { IdentityUser user = await _repo.FindUser(context.UserName, context.Password); using (var db = new GatewayPCIPINContext()) { if (db != null) { var users = db.AspNetUsers.ToList(); //var roles = db.AspNetRoles.ToList(); //var users_roles = db.AspNetUserRoles.ToList(); var organizations = db.Organizations.ToList(); if (users != null && organizations != null && user != null) { if (!string.IsNullOrEmpty(users.Where(u => u.UserName == context.UserName && u.PasswordHash == context.Password).FirstOrDefault().UserName) && !string.IsNullOrEmpty(organizations.Where(o => o.OrganizationType.Id == organizme_type_merchant).FirstOrDefault().OrganizationType.Type)) { // identity.AddClaim(new Claim("sub", context.UserName)); identity.AddClaim(new Claim("role", "user_merchant")); identity.AddClaim(new Claim(ClaimTypes.Role, "user_merchant")); identity.AddClaim(new Claim(ClaimTypes.Name, context.UserName)); // var props = new AuthenticationProperties(new Dictionary <string, string> { { "userdisplayname", context.UserName }, { "role", "user_merchant" } }); var ticket = new AuthenticationTicket(identity, props); context.Validated(ticket); } } else { context.SetError("invalid_grant", "The user name or password is incorrect."); return; } } } /*if (user == null) * { * context.SetError("invalid_grant", "The user name or password is incorrect."); * return; * }*/ } /*var identity = new ClaimsIdentity(context.Options.AuthenticationType); * identity.AddClaim(new Claim("sub", context.UserName)); * identity.AddClaim(new Claim("role", "user_merchant"));*/ context.Validated(identity); }