Splits token generation and validation