コード例 #1
0
ファイル: DataManagerService.cs プロジェクト: drax122/PZ2018
 public List <Client_RefreshTokens> GetAllRefreshTokens()
 {
     using (var ctx = new MicroFBEntities())
     {
         return(ctx.Client_RefreshTokens.ToList());
     }
 }
コード例 #2
0
ファイル: DataManagerService.cs プロジェクト: drax122/PZ2018
 public async Task <bool> RemoveRefreshToken(Client_RefreshTokens refreshToken)
 {
     using (var ctx = new MicroFBEntities())
     {
         ctx.Client_RefreshTokens.Remove(refreshToken);
         return(await ctx.SaveChangesAsync() > 0);
     }
 }
コード例 #3
0
ファイル: DataManagerService.cs プロジェクト: drax122/PZ2018
 public Client_RefreshTokens FindRefreshToken(string refreshTokenId)
 {
     using (var ctx = new MicroFBEntities())
     {
         var refreshToken = ctx.Client_RefreshTokens.Where(x => x.RefreshToken == refreshTokenId).FirstOrDefault();
         return(refreshToken);
     }
 }
コード例 #4
0
ファイル: DataManagerService.cs プロジェクト: drax122/PZ2018
 public RestfullAPI_Clients FindClient(string clientId)
 {
     using (var ctx = new MicroFBEntities())
     {
         var client = ctx.RestfullAPI_Clients.Where(x => x.ClientId == clientId).FirstOrDefault();
         return(client);
     }
 }
コード例 #5
0
ファイル: DataManagerService.cs プロジェクト: drax122/PZ2018
 public Users CreateUser(Users user)
 {
     using (var ctx = new MicroFBEntities())
     {
         ctx.Users.Add(user);
         ctx.SaveChanges();
         return(user);
     }
 }
コード例 #6
0
        public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            var identity = new ClaimsIdentity(context.Options.AuthenticationType);

            context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" });

            using (var db = new MicroFBEntities())
            {
                if (db != null)
                {
                    var empl  = db.Users.ToList();
                    var users = db.Users.ToList();
                    if (users != null)
                    {
                        var user     = users.Where(u => u.Username == context.UserName && u.Password == context.Password).FirstOrDefault();
                        var udisplay = db.UsersView.Where(x => x.Id == user.Id).FirstOrDefault();
                        if (user != null)
                        {
                            identity.AddClaim(new Claim(ClaimTypes.Name, user.Username));
                            // ADD CLAIMS HERE
                            identity.AddClaim(new Claim("Name", user.Username));
                            //
                            var props = new AuthenticationProperties(new Dictionary <string, string>
                            {
                                {
                                    "as:client_id", (context.ClientId == null) ? string.Empty : context.ClientId
                                },
                                {
                                    "UserDisplayName", context.UserName
                                },
                                {
                                    "role", "user"
                                },
                                {
                                    "User", JsonConvert.SerializeObject(udisplay)
                                },
                            });
                            var ticket = new AuthenticationTicket(identity, props);
                            context.Validated(ticket);
                        }
                        else
                        {
                            context.SetError("Invalid credentials", "Provided username or password is incorrect.");
                        }
                    }
                }
                else
                {
                    context.SetError("Invalid credentials", "Provided username or password is incorrect.");
                }
                return;
            }
        }
コード例 #7
0
ファイル: DataManagerService.cs プロジェクト: drax122/PZ2018
        public async Task <bool> AddRefreshToken(Client_RefreshTokens token)
        {
            using (var ctx = new MicroFBEntities())
            {
                var existingToken = ctx.Client_RefreshTokens.Where(tokens => tokens.UserName == token.UserName && tokens.ClientId == token.ClientId).SingleOrDefault();
                if (existingToken != null)
                {
                    var result = await RemoveRefreshToken(existingToken.RefreshToken);
                }

                ctx.Client_RefreshTokens.Add(token);
                return(await ctx.SaveChangesAsync() > 0);
            }
        }
コード例 #8
0
ファイル: DataManagerService.cs プロジェクト: drax122/PZ2018
        public async Task <bool> RemoveRefreshToken(string tokenToremoveId)
        {
            using (var ctx = new MicroFBEntities())
            {
                var refreshToken = ctx.Client_RefreshTokens.Where(x => x.RefreshToken == tokenToremoveId).FirstOrDefault();

                if (refreshToken != null)
                {
                    ctx.Client_RefreshTokens.Remove(refreshToken);
                    return(await ctx.SaveChangesAsync() > 0);
                }

                return(false);
            }
        }