public void TestInitialize() { var repository = new MemberRespoitory(); var validator = new SecurityTokenValidator(); TestTarget = new AdaptParameter .Version001.ControlAccessService(repository, validator); }
static void Main(string[] args) { var repository = new MemberRespoitory(); var validator = new SecurityTokenValidator(); var device = new ControlAccessReaderDevice(); var service = new ControlAccessService(repository, validator); var isAuthorized = service.IsAuthorized( new ControlAccessReaderDeviceAdpater(device)); Console.WriteLine(isAuthorized); Console.ReadKey(); }
public bool IsValidIdToken(IAuthTokens authTokens, string idToken) { var jwtToken = new JwtSecurityToken(idToken); var idAuthTokens = authTokens as IdentityServerAuthTokens; if (idAuthTokens != null) { var nonce = jwtToken.Claims.FirstOrDefault(x => x.Type == JwtClaimTypes.Nonce); if (nonce != null && nonce.Value != idAuthTokens.Nonce) { Log.Error("Nonce in id_token does not match the nonce created for the login request - potential replay attack"); return(false); } } SecurityToken validatedToken = null; try { SecurityTokenValidator.ValidateToken(idToken, tokenValidationParameters, out validatedToken); } catch (Exception exception) { Log.Error("Error validating JWT token", exception); return(false); } if (validatedToken == null) { Log.Error("Unable to validate id_token"); return(false); } var jwt = validatedToken as JwtSecurityToken; if (jwt == null) { Log.Error("id_token is not a valid jwt token"); return(false); } return(true); }
public ControlAccessService(MemberRespoitory memberRepoRespoitory, SecurityTokenValidator securityTokenValidator) { MemberRepoRespoitory = memberRepoRespoitory; SecurityTokenValidator = securityTokenValidator; }