protected List <Claim> FetchClaims(AddClaimsMethod method, int id) { var claims = new List <Claim>(); if (method != null) { claims = method(id); } return(claims); }
public ITokenRespons RefreshToken(string refreshtoken, string audiance, string domain, AddClaimsMethod method) { UserAccount user = new UserAccount(); try { var token = AuthRefreshToken(refreshtoken); user.Id = token.UserId; user = GetAuthFromDB <UserAccount>("select * from getuserbyid(@Id)", user); return(Authentiacte(user, "token", "localhost", method));; } catch { throw; } }
public virtual ITokenRespons Authentiacte(object user, string audiance, string domain, AddClaimsMethod method) { try { var useracc = (UserAccount)user; var userdb = GetAuthFromDB("select * from getuser(@UserName)", useracc); ValidateAccount(useracc, userdb); var claims = FetchClaims(method, userdb.Id); var tokenRespons = Jwt.CreateJwtToken(claims, audiance, domain); AddRefreshToken(tokenRespons.RefreshToken, userdb.Id); return(tokenRespons); } catch { throw; } }
public virtual ITokenRespons RefreshToken(string refreshtoken, string audiance, string domain, AddClaimsMethod method) { TokenKey tokendb = new TokenKey(); try { var token = AuthRefreshToken(refreshtoken); tokendb.Id = token.TokenId; tokendb = GetAuthFromDB <TokenKey>("select * from gettokenbyid(@Id)", tokendb); return(Authentiacte(tokendb, "token", "localhost", method));; } catch { FailedAuthentication(tokendb); throw; } }
public virtual ITokenRespons Authentiacte(object token, string audiance, string domain, AddClaimsMethod method) { try { var tokendb = GetAuthFromDB("select * from gettoken(@Token)", (TokenKey)token); var claims = FetchClaims(method, tokendb.Id); var tokenRespons = Jwt.CreateJwtToken(claims, audiance, domain); AddRefreshToken(tokenRespons.RefreshToken, tokendb.Id); if (!IsLocked(tokendb) && tokendb.LockOut > 0) { Unlock(tokendb); } return(tokenRespons); } catch { throw; } }